我有一个文本文件示例(如下所示),其中包含文件夹中存在的不同文件的名称。
Filename1
Filename2
Filename3
.........
现在,我必须使用此文本文件作为输入,将D:\驱动器中的文件(文件名取自文本文件)复制到另一个文件夹。我使用的批处理文件如下。
@Echo Off
SetLocal EnableDelayedExpansion
Set n= 0
Set _InTextFile=D:\EXAMPLE.txt
For /F "tokens=*" %%I IN (%_InTextFile%) DO (
Set /a n+=1
Set _var!n!=%%I
set VAR=init
for /f %%a in ('dir /b D:\%%I.asc') do set VAR=exists
if %VAR%==exists
xcopy * D:\New folder
)
Set _
EndLocal
cmd /k
不幸的是,此批处理脚本无法按预期工作。它不会将特定文件复制到新文件夹位置。另外,它被打印为
参数数量无效。
请尝试帮助我确定批处理脚本中的确切问题。我如何修改此脚本,以便仅将D:\驱动器中的这些特定文件(如Example文本文件中给出的)复制到D:\ New文件夹中?
预先感谢您的帮助。
我可以通过在下面的代码中进行修改来解决此问题。
set destinationfolder=D:\New folder
FOR /F "delims=" %%a IN (E:\EXAMPLE.txt) DO XCOPY /I /S /Y "%%a" "%destinationfolder%\%%~nxa"
这非常适合我。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句