windows批处理命令 关于文件查找与复制
如参是文件名,根据文件名ab*.txt在路径1中查找文件所在的位置,再在查找路径2中查找文件所在的位置,然后把文件从路径1覆盖性复制到路径2中(路径2中,可能有两条或者三...
如参是文件名,根据文件名 ab*.txt 在路径1中查找文件所在的位置,再在查找路径2中查找文件所在的位置,然后把文件从路径1 覆盖性复制到路径2中(路径2中,可能有两条或者三条路径都包含该文件),比较麻烦,求指导,求实例,感激不尽
展开
1个回答
展开全部
确实比较麻烦,如果是仅解决实际问题得把情况描述详细,如果是想通过此例学习掌握批处理命令那不是三两句可解答的,建议到有关网站(如批处理之家)参阅学习
所述问题关键点:
dir(加适当参数,其它命令也一样)命令可列出所需文件
for命令有项功能可将某些命令(如dir)的输出结果逐行循环取其适当部分进行一项或多项处理(复合其它命令,如copy),其中按需要包括取文件名或路径名或文件时间大小等
copy或xcopy是复制命令,详见命令行帮助(如xcopy/?)
对于是否覆盖,如命令没提供参数开关会在执行过程中要求输入选择的,也可通过管道命令"|"或输入重定向命令"<"来自动处理,比如当copy命令需要选择y/n时自动应答y
echo y|copy a b
在for命令中如何取文件路径,可参见命令行帮助(for/?),但此命令应用情况复杂,仅看此帮助是不易掌握的,所以建议参阅网上有关教程
举一个可在命令行测试例子(如果写入批处理中,所有%均需改写为%%):
如果在d:\test下包含各级子文件夹的ab*.txt文件修改时间不晚于2016年,显示其路径加空格加文件主名
for /f "delims=" %i in ('dir/b/s d:\test\ab*.txt')do @if "%~ti" geq "2016" echo 路径 %~dpi 文件主名%~ni
所述问题关键点:
dir(加适当参数,其它命令也一样)命令可列出所需文件
for命令有项功能可将某些命令(如dir)的输出结果逐行循环取其适当部分进行一项或多项处理(复合其它命令,如copy),其中按需要包括取文件名或路径名或文件时间大小等
copy或xcopy是复制命令,详见命令行帮助(如xcopy/?)
对于是否覆盖,如命令没提供参数开关会在执行过程中要求输入选择的,也可通过管道命令"|"或输入重定向命令"<"来自动处理,比如当copy命令需要选择y/n时自动应答y
echo y|copy a b
在for命令中如何取文件路径,可参见命令行帮助(for/?),但此命令应用情况复杂,仅看此帮助是不易掌握的,所以建议参阅网上有关教程
举一个可在命令行测试例子(如果写入批处理中,所有%均需改写为%%):
如果在d:\test下包含各级子文件夹的ab*.txt文件修改时间不晚于2016年,显示其路径加空格加文件主名
for /f "delims=" %i in ('dir/b/s d:\test\ab*.txt')do @if "%~ti" geq "2016" echo 路径 %~dpi 文件主名%~ni
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询