情景:
大约有150个目录都具有非常相似的路径名,但该路径中的一个文件夹在每个条目之间有所不同。以下示例
d:\TSProfiles\coetzeed.TEST.V2\Desktop\
d:\TSProfiles\ronaldb.TEST.V2\Desktop\
d:\TSProfiles\mcondaldc.TEST.V2\Desktop\
我想在所有这些目录上执行以下操作,但不知何故在每个条目中考虑了这些不同的文件夹名称,而无需将所有这些目录添加到脚本中。
del d:\TSProfiles\coetzeed.TEST.V2\Desktop\accounts.exe (deletes the old accounts.exe)
Copy d:\newdesktop\accounts.exe d:\TSProfiles\coetzeed.TEST.V2\Desktop\ (copies the new accounts.exe to the destination folder
)
答案 0 :(得分:2)
在一行的命令提示中执行此操作:
for /f "tokens=1" %a in ('dir d:\TSProfiles\* /ad /b ') do
echo copy /Y d:\newdesktop\accounts.exe "d:\tsprofiles\%a\Desktop"
我输入了一个echo,这样你就可以检查命令是否有效,如果你满意的话就把它删掉。
命令dir / ad / b基本上只吐出foldernames(/ ad)而没有任何欺骗(/ b代表或'裸')
没有必要为此script
。它只是直接从命令提示符运行。如果您想在脚本中使用此功能,请不要忘记将单个%替换为可变a
的双倍%%,因此%a
变为%%a
答案 1 :(得分:0)
@echo off
pushd "d:\TSProfiles\"
for /f "delims=" %%F in ('dir /b /s /a:-d "*accounts.exe"') do (
del "%%~F" /F /Q
copy "d:\newdesktop\accounts.exe" "%%~dpF" /Y
)
popd