批处理文件记录

Posted embraceu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批处理文件记录相关的知识,希望对你有一定的参考价值。

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

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

 

以上是关于批处理文件记录的主要内容,如果未能解决你的问题,请参考以下文章

记录C#常用的代码片段

python常用代码片段总结

discuz X3.1 源代码阅读,记录代码片段

提效小技巧——记录那些不常用的代码片段

用于从 cloudkit 检索单列的代码模式/片段

错误记录Flutter 混合开发获取 BinaryMessenger 报错 ( FlutterActivityAndFragmentDelegate.getFlutterEngine() )(代码片段