Пакет Windows: копировать файлы в цикле - PullRequest
0 голосов
/ 30 августа 2018

У меня есть каталог с файлами .txt. Мне нужно зациклить их и выполнить две задачи: передать файл в хранимый процесс Oracle и переместить его в каталог архива. У меня почему-то не получается второе задание. Чего мне не хватает?

REM -----------------------------------------
REM first step changes file extension to .632
REM -----------------------------------------
for /f %%I in ('dir /b \\db01\load\*.txt') do (sqlplus.exe usr/pwd@DB @\\db01\sql\load.sql %%I)
for /f %%I in ('dir /b \\db01\load\*.632') do (move \\file01\archive)

1 Ответ

0 голосов
/ 30 августа 2018

Вот пара непроверенных примеров:

@Echo Off
PushD "\\db01\load" 2>Nul || Exit /B
For %%A In (*.txt *.632) Do (
    If /I "%%~xA"==".txt" sqlplus usr/pwd@DB @"..\sql\load.sql" "%%A"
    If /I "%%~xA"==".632" If Exist "..\..\file01\archive\" Move /Y "%%A" "..\..\file01\archive" >Nul
)
PopD

1004 *

@Echo Off
PushD "\\db01\load" 2>Nul || Exit /B
For %%A In (*.txt) Do sqlplus usr/pwd@DB @"..\sql\load.sql" "%%A"
If Exist "*.632" Move /Y "*.632" "..\..\file01\archive" >Nul
PopD

Кроме того, в зависимости от ваших требований к sqlplus, вы можете посмотреть информацию об использовании команды Start, start /?

...