【学习经验】exe bat 和 PATH

试着整理了一下对话内容,写成了对话体的学习笔记(或许会更容易理解一些?毕竟本人在对话发生时就是完全不懂的笨比一个呢(笑)),莫,就当做是和笨比猫娘的对话教学吧!本篇笔记记录了2024年3月12日晚的对话,有关.exe, .batPATH


“你知道系统路径PATH是什么东西吗”

“不知道哦(乖巧)”

“那你知道可执行程序是什么吗”

“不知道哦(乖巧)”

“(清嗓).exe,也即可执行程序。其中的 exe 表示 executable,是能直接运行的二进制文件(人类看不懂)。在命令行可直接用文件名执行。”

“好喵”

“那你知道.bat脚本吗”

“不知道哦(乖巧)”

“(清嗓).bat也即批处理程序,其中的 bat 表示 batch,是一种脚本,是用字符明文写的(人类也看得懂哦!)。”

“好喵”

“你可以写一写试试,比如,在博客文件夹里新建一个update.bat, 里面写上hexo clean & hexo g & hexo d,这下只需输入update.bat,系统就会自动执行hexo clean, hexo ghexo 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,顺带一提,在桌面右键打开终端,就能显示你桌面的绝对路径”

(许久以后)

“你不会真去试了吧”

“没有哦,在摸鱼看番(戳手)”

(完)


【学习经验】exe bat 和 PATH
http://example.com/2024/03/15/LE-dialogue1/
Author
John Doe
Posted on
March 15, 2024
Licensed under