我正在制作一个批处理脚本,将所有.doc
,.pdf
,.xls
等从磁盘复制到pendrive。
我目前的代码如下:
@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
问题是:如何添加更多扩展但避免代码中的所有重复?
答案 0 :(得分:7)
在所有编程语言中总是如此:如果你必须连续多次做一件事,请使用循环。
@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
答案 1 :(得分:-2)