标题: [转贴] 歪果仁写的批处理脚本库(含花式技巧集锦) [打印本页]
作者: CrLf 时间: 2018-7-11 16:23 标题: 歪果仁写的批处理脚本库(含花式技巧集锦)
本帖最后由 CrLf 于 2018-7-11 18:14 编辑
功能挺多的,作者很内行,秀了不少花式技巧
部分代码不太严谨,但是还是可以学到东西
https://github.com/npocmaka/batch.scripts
作者: CrLf 时间: 2018-7-11 16:47
本帖最后由 CrLf 于 2018-7-11 17:43 编辑
看到了些原来不知道的应用:- fltmc volumes
- ::列出卷和文件系统,需要以管理员身份运行
复制代码
- bitsadmin
- ::原生的上传/下载工具,不过帮助里也说了未来的系统中未必保留此工具
- ::详见 https://www.tuicool.com/articles/rqe63qj
复制代码
- pushd 路径A
- pushd 路径B
- pushd
- ::不带参数的 pushd 可以罗列堆栈中的路径
复制代码
还有各种有意思的 bug
还有这个论坛:http://ss64.org/
作者: CrLf 时间: 2018-7-11 17:03
这个代码说明 for 是先计算需要分配多少个坑(不检查是否重复),然后再往对应的坑里填内容- @@echo off
- :::this prints - 1:[i] 2:[] 3:[] 4:[] 5:[] 6:[] 7:[]
- for /f "tokens=1,1,1,1,1,1,1" %%a in ("i ii iii iv v vi vii") do (
- @echo 1:[%%a] 2:[%%b] 3:[%%c] 4:[%%d] 5:[%%e] 6:[%%f] 7:[%%g]
- )
-
- :::this prints - 1:[i] 2:[ii] 3:[iii] 4:[iv] 5:[] 6:[] 7:[%g]
- for /f "tokens=2,3,1-4" %%a in ("i ii iii iv v vi vii") do (
- @echo 1:[%%a] 2:[%%b] 3:[%%c] 4:[%%d] 5:[%%e] 6:[%%f] 7:[%%g]
- )
-
- :::this prints - 1:[i] 2:[ii] 3:[iii] 4:[] 5:[] 6:[] 7:[%g]
- for /f "tokens=1-3,1-3," %%a in ("i ii iii iv v vi vii") do (
- @echo 1:[%%a] 2:[%%b] 3:[%%c] 4:[%%d] 5:[%%e] 6:[%%f] 7:[%%g]
- )
-
- exit /b 0
- http://stackoverflow.com/questions/25950181/why-for-f-sets-empty-values-for-repeated-numbers-in-the-rest-of-tokens
复制代码
这个特性好玩
作者: CrLf 时间: 2018-7-11 17:12
我们知道可以只输入一个 D:、E: 来切换到其他驱动器根目录- cd C:\test
- ::原始路径为 C:\test
-
- D:
- ::切换到 D: 盘根目录
-
- C:
- ::会回到 C:\test 而非 C: 根目录
-
- set "
- ::可以查看各路径下最后一次的工作路径
复制代码
但是歪果仁提供了另一种查看方式:- for %%I in (a: b: c: d: e:) do @echo %~fI
- ::比 set " 的结果更清晰
复制代码
而且还有这么一个神奇的现象:- C:\>for %I in (a: b: c: ">:" "&:") do @echo %~fI
- C:\>pushd c:
- C:\>set "
-
- the output is:
-
- =&:=&:\
-
- =>:=>:\
-
- =A:=A:\
-
- =B:=B:\
-
- =C:=C:\
-
- ....
复制代码
作者: CrLf 时间: 2018-7-11 17:14
各种 Crash 就不说了,我有比他更致命的 BUG 哈哈哈哈哈
作者: CrLf 时间: 2018-7-11 17:35
本帖最后由 CrLf 于 2018-7-11 18:03 编辑
还有从来没见过的 dpath 和 keys 命令,两个不在 HELP 列表中的内部命令
dpath 能设置 %DPATH% 变量,帮助信息中说是作用类似于对 PATH 变量的附加,然而...除了对 type 有效,其他命令都不认帐
keys 能设置 %KEYS% 变量,可是并没有卵用
作者: CrLf 时间: 2018-7-11 17:37
这个特性也很有趣- ::Only the last file in the sequence will be affected.Not existing files will be not created
- echo #>a>b>c>d>e>f
- ::Info will be red only from the last file in the row.Not existing files will be ignored
- set /p=<a<b<d<d<e<f
- ::All quotes in redirecte in or out files will be ignored
- echo #>"a"b"""c"""
- type abc
- set /p=<a""""b"c"""
复制代码
作者: CrLf 时间: 2018-7-11 17:45
在批处理之家里,和这个老外一样如此无聊能钻研各种BUG的也就只有 qzwqzw 了
作者: yhcfsr 时间: 2018-7-11 18:05
砌而不舍,终成摩天。
Thandks For Sharing
作者: CrLf 时间: 2018-7-11 18:13
本帖最后由 CrLf 于 2018-7-11 18:19 编辑
大概过了一遍,discovers_and_bugs 目录让人印象深刻,相当牛逼
混编应用(hybrids 目录)方面嘛,get了些新技巧,老外的面相当广啊,不过我们也不输
因为俺们有 plp626,所以 DateAndTime、math 方面的函数可以秒杀老外
其他几个目录好像没有什么特别新的知识,跟我们的文明程度差不多...
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |