这两天用的命令
dir 相当于linux的ls
echo %cd% 相当于linux pwd
bat批处理脚本中
设置datestr字符串变量,
set datestr=%date:~,4%%date:~5,2%%date:~8,2% ~5,2 意思是从date字符串的第五个位置开始截取2个字符
md %datestr%
运行这个bat文件就会创建以日期明明的文件夹,如果我写的时候是20180116,就会创建这个文件夹
可参考 https://zhidao.baidu.com/question/872479432855990372.html
copy jekins\*.war D:\test 将当前目录的jekins文件夹下的所有war包copy道D盘的test目录下
call deploy.bat 执行deploy批处理文件
cmd /c 唤醒批处理命令
获取文件夹下所有文件夹的名字 输出到txt文件中
dir /ad /b D:\mulu > contents.txt 输出D盘mulu文件夹下的所有文件夹的名字到文件中
如果只要文件夹的名称 需要结合for循环来用,不然结果带着路径呢,另一个取巧的方案就是 ,执行脚本在当前目录,不加第一个路径 参数就行了
/ad 只输出文件夹
/b 仅列出文件名称 ,其他日期啥的忽略
/s 包括目录下的子目录里面的
copy xcopy的使用http://blog.youkuaiyun.com/ntby/article/details/1477362
场景:用dir提取了一个目录下所有的文件夹的名字到一个txt文件中,然后读取这个txt文件,挨个读取名字在另一个文件夹内创建文件夹 可参考 https://www.cnblogs.com/pejsidney/p/8258746.html
for delims token的使用 https://www.cnblogs.com/pejsidney/p/8258746.html
for循环中 循环设置变量的坑 需要开启延迟变量 并且 原先引用变量的%var%要变成!var! 例如
@echo off
setlocal enabledelayedexpansion //开启延迟变量
set prefix=F:\java_projec\dubbo-jar-service\jenkins-bat\
for /f "delims=" %%i in (contents.txt) do (
set name=%%i
echo %prefix%!name! 双百分号换为双感叹号
if not exist %prefix%!name! md %prefix%!name!
rem xcopy /e /d /y C:\Users\Administrator\zhl\%name% F:\java_projec\dubbo-jar-service\jenkins-bat\%name%
)
持续更新。。。。。。。