 |
|
считать и подставить строки из txt при обработке файлов
подскажите, как подставить строки из txt при обработке файлов?
или другими словами:
как в цикле обработки файлов параллельно считывать строку из текстовика
при обработке первого файла - считывать строку 1 в переменную %X%
при обработке второго файла - считывать строку 2 в переменную %X% и т.д.
например нужно перенести 3 файла из folder1 в folder2
при этом добавить к имени файла соответствующую строку из текстовика
есть файлы:
Цитата:
\folder1\file1.jpg
\folder1\file2.jpg
\folder1\file3.jpg
|
list.txt
чтобы получилось:
Цитата:
\folder2\file1-qwe.jpg
\folder2\file2-asd.jpg
\folder2\file3-zxc.jpg
|
итого:
как сюда вместо "_added" вставить соответствующую строку из txt
Код:
for /R "%CD%\folder1" %%F in (*.jpg) do (
copy "%%F" "%CD%\folder2\%%~nF_added%%~xF"
)
считывание строк есть тут
Цитата:
Цитата alpap
@echo off
<file.txt (for /f "tokens=1* delims=[]" %%a in ('find /n /v ""') do set "s%%a=%%b")
echo %s1%
echo %s2%
echo %s3%
echo %s4%
pause
|
|
DJ Mogarych |
05-04-2025 07:12 3037013 |
Powershell
Код:
$list = gc C:\temp\list.txt
$c = 0
dir ~\Pictures\*.jpg |% {
$_ |Copy-Item -Destination "C:\temp\out\$($_.BaseName + '-' + $list[$c] + $_.Extension)"
$c++
}
|
Код:
@Echo Off &Cls
Set "BoxIn=Z:\Box_In"
Set "Mask=*.jpg"
Set "List=Z:\Box_Arc\List.txt"
Set "BoxOut=Z:\Box_Out"
Pushd "%BoxIn%"||(Echo Folder "%BoxIn%" not found &Pause &Exit /B 2)
If Not Exist "%List%" (Echo Filer "%List%" not found &Pause &Exit /B 2)
Set /A n=1000000
For /f "usebackq delims=" %%s IN (`type "%List%"`) Do (Set /A n+=1 &Call Set @%%n%%=%%s)
Set /A n=1000000
For %%f In (%Mask%) Do (Set /A n+=1 &Call :MyMove %%n%% "%%f")
Popd
Pause
Exit /B
:MyMove
Call Set "X=%%@%1%%"
>nul Move %2 "%BoxOut%\%~n2-%X%%~x2"
Exit /B
|
Время: 15:32.
© OSzone.net 2001-