批处理文件记录

MS-DOS使用记录

获取管理员权限语句

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

注意:当获取到管理员权限后,当前目录会变成 C:\WINDOWS\system32,如果后面用到%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%\Lib\site-packages\third_lib\" 

截取字符串

::将pythonDir的最后11个字符去掉
set pythonDirs = %pythonDir:~0,-11%

::截取第5个字符
%pythonDir:~4,1%

所以str:~p,n中,p为指针的位置,而n为偏移的字符数,并且正负都可以。

输出重定向

python --version > temp.txt 2>&1

可以执行命令以后,将输出结果重定向到一个目录中。

猜你喜欢

转载自www.cnblogs.com/embraceU/p/10415877.html