1

Я не могу на всю жизнь понять, чего мне не хватает. У меня есть следующий пакетный файл:

Когда я запускаю этот командный файл со своего стола на подключенный диск, он работает нормально

FOR /D /r %%G in ("*") DO pdftk "%%G\*.pdf" cat output "%%G\Report.pdf"

Когда я запускаю тот же самый пакетный файл на самом сервере, в месте, где расположен подключенный диск, он не запускается и заставляет меня думать, что у меня есть проблема с синтаксисом

Я просто не понимаю, что происходит, и мои глаза с трудом отслеживают, что может отличаться. Сервер, на котором он не работает, - Windows 2003, мой рабочий стол, на котором работает тот же пакетный файл, - Windows 7.

2 ответа2

1
FOR /D /r %%G in ("*") DO pdftk "%%G\*.pdf" cat output "%%G\Report.pdf"

Попробуй это

FOR /D /r %%G in ("*") DO pdftk %%G\*.pdf cat output "%%G\Report.pdf"

Кавычки вокруг "%%G\*.pdf" я полагаю, сделали * похожим на письмо к пакетной команде, а не подстановочный квалификатор.

извините, если это старо, но я только нашел это и использовал это.

0

Похоже, проблема заключается в том, что вы можете выполнить подстановочный знак в заданной части вашей команды, ("*") , но параметры команды "%%G\*.pdf" не раскрываются. Почему он ведет себя непоследовательно от одной машины к другой, я не уверен.

Поскольку вы хотите обрабатывать только документы в формате pdf, переместите подстановочный знак *, чтобы сделать вашу команду такой:

FOR /D /r %%G in ("*.pdf") DO pdftk "%%G" cat output "%%G\Report.pdf"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .