Иногда неспособность оболочки cmd расширять пути подстановки может быть неудобством. Мне пришлось передать 100 файлов из каталога в программу, и я не смог набрать * .ext. Вместо этого я использовал msw 'ls', чтобы вывести список в файл, а затем заменил символы новой строки пробелами, скопировал и вставил в cmd. Совсем кошмар.
Я подозреваю, что ответ будет отрицательным, но кто-нибудь имел дело с этим или придумал какой-нибудь способ облегчить это?
I suspect the answer will be no, but has anyone dealt with this or come up with any way to make this easier? На самом деле, у меня возникла противоположная проблема, я пытаюсь найти способ заставить интерпретатор команд обрабатывать свой список как строки и не допускать его интерпретацию как подстановочных знаков. Например, for %i in (foobar baz really?) do @echo %iбудет рассматривать последний элемент ( really?) в качестве имени файла шаблона, и пропустить его , если нет файлов с именем really1, reallyzи т.д. ☹
?недопустимый символ для имен файлов в файловой системе Windows. Символ может быть интерпретирован только как подстановочный знак. См. Имена файлов, путей и пространств имен в MSDN и Использование подстановочных знаков в TechNet.