【学习经验】exe bat 和 PATH
试着整理了一下对话内容,写成了对话体的学习笔记(或许会更容易理解一些?毕竟本人在对话发生时就是完全不懂的笨比一个呢(笑)),莫,就当做是和笨比猫娘的对话教学吧!本篇笔记记录了2024年3月12日晚的对话,有关.exe
,
.bat
和PATH
。
“你知道系统路径PATH是什么东西吗”
“不知道哦(乖巧)”
“那你知道可执行程序是什么吗”
“不知道哦(乖巧)”
“(清嗓).exe
,也即可执行程序。其中的 exe 表示
executable,是能直接运行的二进制文件(人类看不懂)。在命令行可直接用文件名执行。”
“好喵”
“那你知道.bat脚本吗”
“不知道哦(乖巧)”
“(清嗓).bat
也即批处理程序,其中的 bat 表示
batch,是一种脚本,是用字符明文写的(人类也看得懂哦!)。”
“好喵”
“你可以写一写试试,比如,在博客文件夹里新建一个update.bat
,
里面写上hexo clean & hexo g & hexo d
,这下只需输入update.bat
,系统就会自动执行hexo clean
,
hexo g
和hexo d
了!”
“强大!!!!!!!”
“但是通常你打一个u按一下tab就出来了”
“强大!!!!!!!!!!!!!”
"再比如在桌面打开一个命令行,然后随便输入一个桌面快捷方式的名字再回车(格式:例如Typora的快捷方式为.\Typora.lnk
),就能打开程序,和鼠标点击是一样的,这是快捷方式,是从某地方指向另一个地方的程序"
等等,你说猫猫不知道怎么在桌面打开命令行?
桌面空白处右键-在终端打开“好喵”
“但是执行程序是有可见范围的限制的,只能在当前目录下,或者输入相对路径,或者输入绝对路径来执行,否则会找不到文件。但是像gcc -v
或者gcc xxx.c -o xxx
这种,明明该目录下没有gcc
,但还是可以执行(实际上执行的就是某地方的gcc.exe
)”
“等等,所以gcc
是什么喵(老实巴交)”
“是c语言的编译器,可以把.c编译成可执行文件”
“好喵”
“所以为什么能执行呢(笑)?”
“为什么呢……(陷入沉思)”
“因为gcc
在 PATH
里面,凡是PATH里的东西,都是全局可见,也就是说你可以把目录添加到PATH里,让这个目录变成全局可见”
“好喵”
“你按win
,然后搜索控制面板
,再在控制面板里搜索高级系统
,再点击查看高级系统设置
,在高级
板块下面点击环境变量
,在双击系统变量
里的PATH
,找到如图所示的两行(当然一般都只有一行),打开这个文件夹看看“
“哦哦哦好多东西——”
“里面是不是有一个gcc.exe
”
“嗯”
“你可以试试把它删掉”
“尊嘟(紧张)?我感觉……”
“你先把文件路径复制一份,一会再加回来”
“啊不是删文件啊(升天),吓我一跳”
“我说删系统路径(),不过文件删了也没事,重装下 dev 就好了”
“(老实巴交)C:\Program Files (x86)\mingw\bin
,存一下谢谢”
“建一个test.c
,写个hello
world,然后在命令行输入gcc test.c -o test
,你应该还能编译出.exe
文件”
“诶!真的诶——为什么啊(挠头)”
“因为那两个里面各有一个gcc,删掉一个另一个还能用,把两个都删了才用不了”
“两条命!!!但是猫猫有九条命,猫猫比它还厉害哦!”
“诶?啊。反正就是,PATH 里的文件夹,里面的可执行文件、脚本和快捷方式都是全局可见的,而且可以忽略后缀执行”
“好喵”
“所以你不需要打gcc.exe
”
“对哦”
“但是把 PATH 删掉以后去执行,就需要加.exe
”
“好喵,那我是不是可以吧 typora 也加到 PATH
里面,这样就不用.lnk
了”
“错误的,你应该加的是 Desktop,顺带一提,在桌面右键打开终端,就能显示你桌面的绝对路径”
(许久以后)
“你不会真去试了吧”
“没有哦,在摸鱼看番(戳手)”
(完)