Windows CMD - циклы для подпапок - PullRequest
0 голосов
/ 21 ноября 2011

Я знаю, что по всему Интернету было много тем о командной строке Windows, но этого все еще недостаточно. Хотя у меня нет проблем, когда я пишу циклы на реальном языке программирования, таком как Python, чтобы проверить все подпапки, я не могу сделать это под Windows CMD. Я очень раздражен (и очень жаль, если я вас раздражаю).

Я пробовал оба параметра / r и / d, но я не могу просто выполнить операцию - получить список файлов в подпапках:

для / d %% p in ("pathHERE * .jpg") DO echo %% p

Я получаю сообщение об ошибке:

%% p был неожиданным в это время.

Не могли бы вы сказать мне, где я могу найти РАБОТУ (через Интернет я обнаружил много скриптов, которые не могу запустить - я знаю, что между пакетными файлами и командами, набираемыми вручную с клавиатуры, были некоторые различия), например, такие операции, как копирование все файлы с указанным расширением из всех подпапок в другое место или подготовить список всех подпапок?

Ответы [ 2 ]

3 голосов
/ 21 ноября 2011

если вы запускаете эту строку из окна cmd, вы должны изменить на:

для / d% p in ("pathHERE * .jpg") DO echo% p

если вы хотите поместить эту строку в пакетный файл (x.bat) и запустить этот файл, вам следует добавить дополнительный% к именам переменных, поэтому команда будет выглядеть так:

для / d % % p in ("pathHERE * .jpg") DO echo % % p

при запуске командного файла интерпретатор команд удаляет первый% из любого имени переменной.

0 голосов
/ 21 ноября 2011

Попробуйте разместить цитаты вокруг вашего DO использования %% p

for /d %%p in ("pathHERE*.jpg") DO echo "%%p"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...