详解Windows .bat脚本相关命令

Shell 与 Windows 命令的对应
须知:
在bat脚本中大小写一致,不区分大小写

pwd                                                ~~  echo %cd%
ls -l (可缩减为 ll)                                 ~~  dir
copy -r                                            ~~  xcopy
read -p "Please Input The Path" PATH               ~~  set /p PATH=
((5*6))                                            ~~  set /a var=5*6
rm -rf                                             ~~  del "%PATH%\*" /f /s /q /a (下面会详解del的5个参数)
for i in a,b,c
do 
    COMMAND
 done
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for ### %%i in (a,b,c)   将###替换为/f  /d   /r /l
do 
	COMMAND
done

for 循环的参数:

/f: 相当于shell中***for i in cat a.txt***, 系统会读取括号中文件内容的每一行,并将其作 为每一个循环变量。
eg. for /f %%i in (a.txt) do echo %%i
另外还有delims,tokens,eol。
delims 用来指定分隔符,相当于awk中的-F选项
eg. for/f “delims=:” %%i in (a.txt) do echo %%i ##此处为以:为分隔符,也可设为以 空格为分隔符
tokens 表示第N列,相当于awk中的$1,$2等
eg. for/f "tokens=2 delims= " %%i in (a.txt) do echo %%i ##取第二列
eg. for/f "tokens=2,3 delims= " %%i in (a.txt) do echo %%i %%j ##取第二列和第三列,此处的%%j必须按顺序使用字母,不能替换为其他字母,可参考26个字母表顺序

/d: --directory 仅匹配给定路径下的目录
eg. for /d %%i in (*) do @echo %%i
eg. for /d %%i in (???) do @echo %%i

/r: --recursive 递归
eg. for /r c:\ %%i in (*.exe) do @echo %%i

/l: 迭代数值范围
格式为:for /L %%i in (Start#,Step#,End#) do Command
相当于shell中{1…9},Step#表示步长,
eg. for /l %%i in (1,1,5) do start cmd
好玩的是,将上一条命令改为 for /l %%i in (1,1,65535) do start cmd ,试试看会不会死机 ?

del命令的五个参数:

a: 并非所有文件都可以只用del命令就能删除,比如具有隐藏属性、只读属性或者系统属性的文件。
假如d:\test.txt具有隐藏属性,该属性为hidden,使用del /a:h;
假如d:\test.txt具有只读属性,该属性为read,使用del /a:r;
假如d:\test.txt具有系统属性,该属性为system,使用del /a:s;
如果不知道文件是什么属性,那么使用del /a即可

f: 英文全称为force–强制。即强制删除,一般配合/a 使用。

q: 英文全程为quiet–闭嘴!即屏蔽输出进行删除。

p: 如果需要在删除之前进行确认的话,可以添加该参数。

s: 英文全称为subdirectory–子目录。即递归删除。

xcopy命令参数

/s: 递归,复制目录和子目录,除了空的。选用该参数时对源目录下及其子目录下的所有文件进行COPY,若不指定该参数,则XCOPY只拷贝源目录本身的文件,而不涉及其下的子目录

/e: 除非指定该参数,否则/s不会拷贝空目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值