我需要从目录(源)复制一个jar文件,并在目标位置替换该文件。但是问题是我的目标目录不同,如下所述:
Source = D:\ temp \ R56A
Target = D:\ path \ AP \ Different_folders \ lib \ i2
D:\ path \ AP \ ABC1 \ lib \ i2
D:\ path \ AP \ XY_C \ lib \ i2
D:\ path \ AP \ GHS3 \ lib \ i2
我无法获取不同的文件夹名称,并且脚本无法使用它。
这是用于Windows框的。我们可以将文件夹名称复制到文本文件中,然后将该文本文件作为for循环中的变量调用吗?有可能吗?
@ECHO OFF
REM SETLOCAL ENABLEDELAYEDEXPANSION
set Source=D:\temp\R56A
set Target=D:\path\AP\<Different_Directory_names>\lib\i2
set file=i2-bam.jar
for /f "delims=" %%f in ('dir /a-d /b /s "%Source%\%file%"') do (
copy /V "%%f" "%Target%\" 2>nul
)
PART 2
@ECHO OFF
for /d "D:\temp\R56A\" %%f in (i2-bam.jar) do copy %%f "D:\path\AP\<Different_Directory_names>\lib\i2"
答案 0 :(得分:1)
这是您要做什么吗?
@Echo Off
Set "Source=D:\temp\R56A"
Set "File=i2-bam.jar"
Set "Target=D:\path\AP"
Set "Sub=lib\i2"
If Not Exist "%Source%\%File%" Exit /B
If Not Exist "%Target%\" Exit /B
For /D %%A In ("%Target%\*")Do If Exist "%%A\%Sub%\" Copy /Y "%Source%\%File%" "%%A\%Sub%">Nul