我正在制作一个批处理脚本来复制所有 .doc
, .pdf
, .xls
等从磁盘到随身碟。
我当前的代码如下:
@echo off
Title ""
::All Docs
XCOPY C:\*.doc W:\xdatabase /C /S /I /F /H > W:\database\XC\AllInf.txt
::All PDFs
XCOPY C:\*.pdf W:\xdatabase /C /S /I /F /H >> W:\database\XC\AllInf.txt
::All WRI
XCOPY C:\*.wri W:\xdatabase /C /S /I /F /H >> W:\database\XC\AllInf.txt
::All TXT
XCOPY C:\*.txt W:\xdatabase /C /S /I /F /H >> W:\database\XC\AllInf.txt
::All PPT
XCOPY C:\*.ppt W:\xdatabase /C /S /I /F /H >> W:\database\XC\AllInf.txt
::All XLS
XCOPY C:\*.xls W:\xdatabase /C /S /I /F /H >> W:\database\XC\AllInf.txt
问题是:如何添加更多扩展,同时避免代码中的所有重复?
最佳答案
在所有编程语言中始终如此:如果您必须连续多次执行某件事,请使用循环。
@echo off
Title ""
for %%e in (doc pdf wri txt ppt xls) do (
XCOPY "C:\*.%%e" W:\xdatabase /C /S /I /F /H > W:\database\XC\AllInf.txt
)
for
循环在批处理脚本中可能很棘手。一个方便的指南在这里:http://ss64.com/nt/for.html
关于batch-file - 使用 xcopy 通过 *.extension 复制多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39451898/