MS-DOS使用记录
获取管理员权限语句
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
注意:当获取到管理员权限后,当前目录会变成 C:WINDOWSsystem32,如果后面用到%CD%变量,需要注意这一点。
修改打印编码为UTF-8
chcp 65001
UTF-8为65001,936是GBK,需要更多编码请google ms-dos的代码页。
打印执行结果
%errorlevel%
errorlevel变量内容为上一命令执行的结果。
for循环
::设定步长 for /l %%i in (1,4,10) do ( echo %%i ) ::检索命令结果 for /f "delims=" %%i in ('where python') do set pythonDir=%%i
使用dos过程中没有找到想shell一样输出命令执行结果的语句,只能得到执行成功还是失败,但是for循环中可以执行命令,并循环结果,以上命令是执行where python后执行的结果,将结果赋值给pythonDir。
跳转目录
::输入变量,并且跨盘符跳转 cd /d "%pythonDirs%Libsite-packages hird_lib"
截取字符串
::将pythonDir的最后11个字符去掉 set pythonDirs = %pythonDir:~0,-11% ::截取第5个字符 %pythonDir:~4,1%
所以str:~p,n中,p为指针的位置,而n为偏移的字符数,并且正负都可以。
输出重定向
python --version > temp.txt 2>&1
可以执行命令以后,将输出结果重定向到一个目录中。