Скопируйте файл из одного каталога и замените файл в нескольких каталогах. - PullRequest
0 голосов
/ 11 апреля 2019

Мне нужно скопировать файл JAR из каталога (источника) и заменить файл в месте назначения. Но проблема в том, что каталоги моего назначения отличаются, как описано ниже:

Source = D: \ Temp \ R56A

Target = D: \ путь \ AP \ Different_folders \ Lib \ i2

Пример целевой папки: -

D: \ путь \ AP \ АВС1 \ Lib \ i2

D: \ путь \ AP \ XY_C \ Lib \ i2

D: \ путь \ AP \ GHS3 \ Lib \ i2

Я не в состоянии найти через разные имена папок и сценарий не принимает его.

Это для окна. Можем ли мы скопировать имя папки в текстовый файл и вызвать этот текстовый файл как переменную в цикле 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
)

ЧАСТЬ 2

@ECHO OFF
for /d "D:\temp\R56A\" %%f in (i2-bam.jar) do copy %%f "D:\path\AP\<Different_Directory_names>\lib\i2"

1 Ответ

1 голос
/ 11 апреля 2019

Это то, что вы пытаетесь сделать?

@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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...