У меня есть простой .txt-файл (myfile.txt), содержащий имена 300+ файлов в том же каталоге. Каждая строка содержит имя одного файла и каждое имя файла содержит пробела - что-то вроде:batch читать имя файла как переменную, а затем использовать переменную в другом пакетном процессе
file number one.txt
file number two.txt
file number three.txt
....
file number three hundred and twenty five.txt
Я хочу пакетной обработку каждый файл без жесткого кодирования каждого имени файла в моем основном пакетном скрипте (process.bat).
My process.bat просто открывает и обрабатывает файл (в настоящее время жестко закодированный) с помощью приложения командной строки, а затем сохраняет обработанный файл в другой каталог, но сохраняет исходное имя файла.
@echo off
setlocal enableextensions disabledelayedexpansionstart
start prooftool -c "file number one.txt" "/processed/file number one.txt"
мне как-то нужно динамически заменить «номер файла one.txt» с переменной (т.е. имя файла) из myfile.txt, а затем записывать обработанные данные в новый файл с именем точно так же, как оригинал файл, но в папке с именем «обработан».
Чтобы прочитать имена файлов из mytext.txt Я пробовал:
for /F "tokens=*" %%A in (myfile.txt) do [process.bat] %%A
но process.bat не имеет никакого отношения к процессу.
Я искал, как читать строки из текстового файла в переменные, и я думаю, что пробелы в именах файлов вызывают проблемы !?
Я не понимаю, где хранятся переменные (я полагаю, в памяти?) Также, как я могу вызвать переменную, обрабатываемую моим скриптом process.bat (имена файлов в настоящее время жестко закодированы), а затем как вызовите следующую переменную и т. д., чтобы она проходила и обрабатывала все файлы в каталоге.
Спасибо за ваше время и терпение!
Спасибо. Я пробовал это, но не повезло. Я расширил мое описание немного включить process.bat – aperr
Это process.bat почти работает @echo от SETLOCAL disableDelayedExpansion для/ф "токенов = *" %% A в (myfile.txt) делать start "" prooftool -c "%% A" "C: \ Users \ Per \ Desktop \ batch \ обработано \ %% A.txt " , но обрабатываются и сохраняются только первые несколько файлов. Я думаю, что это связано с тем, что у него есть проблемы с записью обработанных файлов на диск - есть ли способ замедлить его, кроме разделения myfile.txt на меньшие списки? В дополнение к правильно обработанным файлам я получаю файлы размером 0kb, и он открывает много cmd-окон, но затем он кажется заблокированным, и мне нужно перезагрузить – aperr
. Я думаю, что чтение и запись на тот же диск были узким местом. каталог записи на другой диск работал, и теперь он обрабатывает все файлы. Большое спасибо за вашу помощь Magoo! – aperr