Я пытаюсь получить количество страниц из каталога .ps файлов, а затем записать это число в пакетный файл. Затем добавьте общее количество страниц в переменную. А также перечислите, сколько страниц имело количество страниц-1, затем число страниц-2 и так далее, до 1000 страниц.
Я не начал программировать для «добавления общего количества страниц в переменную. А также перечислю, сколько было Page Count-1, затем Count-2 и так далее до 1000 страниц». Сейчас я просто пытаюсь заставить цикл работать для записи номера страницы из каждого файла postscript в каталоге в текстовый файл.
У меня проблемы с установкой переменных в цикле.
Я думаю, что мне нужно использовать! вместо% a%, но не уверен, как его отформатировать.
Код, который у меня был в состоянии записать количество страниц в текстовый файл, до тех пор, пока я не попытался заставить его работать в цикле, а затем сломал его.
Я изменил код ниже с предложениями, данными мне в комментариях под кодом.
@Echo On
setlocal enableDelayedExpansion
REM In the next line it sets the filename to %%f and the number of lines into %%i
for %%f in (C:\qsi\mail\vlm\5\*.ps) do for /f %%i in ('find /v /c "" ^< %%f') do (
REM The next line starts at last line and backs up 4 lines to find the line with the page count in the .ps file
set startLine=%%i
set /a startLine-=4
REM The next line records the last 4 lines to a text file
more /E +!startLine! "%%f" > temp.txt
REM The next line finds the page count on the first line of the text file and sets the page count into %%a and removes the space before the number
for /f "tokens=2 delims=:" %%a in (C:\qsi\mail\vlm\temp.txt) do set a=%%a & SET a=!a: =!
REM The next line records the page count to a text file which will contain all page counts when loop is done.
echo !a!>>count.txt
REM Next the loop starts over if there are any .ps files left to process
)
echo END Reached & pause