1

设想:

大约有 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

)

4

2 回答 2

2

一行命令提示符上执行以下操作:

for /f "tokens=1" %a in ('dir d:\TSProfiles\* /ad /b ') do 
    echo copy /Y d:\newdesktop\accounts.exe  "d:\tsprofiles\%a\Desktop"

我输入了一个回显,以便您检查该命令是否有效,如果您满意,请将其删除。

命令 dir /ad /b 基本上只吐出文件夹名称(/ad)而没有任何骗局(/b 代表或“裸”)

没有必要为此设置一个script。它直接从命令提示符处运行良好。如果您想在脚本中使用它,请不要忘记将单 % 替换为双 %% 的变量a,因此%a变为%%a

于 2013-10-21T09:05:53.597 回答
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
于 2013-10-21T09:45:17.650 回答