1

Я пытаюсь написать скрипт, который будет искать в заданном каталоге, найти файлы, заканчивающиеся на расширение .ready_go, rar them (сохранение rar как файла name.rar) и затем перейдите к следующему файлу с теми же расширениями и сделайте то же самое.возвращает имя файла с помощью пакетного скрипта

Мне не повезло назначить переменную "filename" на имя файла, найденного в цикле. это переменный будет использоваться, чтобы назвать архив RAR

до сих пор это то, что у меня есть:

set dSource=C:\users\admin\desktop\one 
set dTarget=\\filesrv1\archives 
set fType=*.ready_go 

for /f "delims=" %%f in ('dir /a-d /b /s "%dSource%\%fType%"') do (

    set filename=%%f 
    echo %filename% 
    echo %dsource% 
    pause 
) 

его echo'ing в dsources переменного штрафа, но не отзовется переменным имя файла.

Я также пробовал просто «echo %% f», который также не работал.

некоторая помощь будет принята с благодарностью. Благодарю.

ответ

0

Вам нужно использовать delayedexpansion, поскольку вы устанавливаете переменную внутри цикла.

попробовать это:

setlocal enabledelayedexpansion 
set dSource=C:\users\admin\desktop\one 
set dTarget=\\filesrv1\archives 
set fType=*.ready_go 

for /f "delims=" %%f in ('dir /a-d /b /s "%dSource%\%fType%"') do (

     set filename=%%f 
     echo !filename! 
     echo %dsource% 
     pause 
) 
Смежные вопросы