этот вопрос уже есть ответ здесь:
кто-нибудь из способа доступа к файлам и каталогам, которые имеют %
в их имени (которое действительно) из командной строки? Конкретно, если есть два %
и текст между ними случается чтобы соответствовать переменной среды.
например, если есть файл с именем C:blah%temp%.txt
или папка с именем C:Program Files%temp%
, ни одно из следующих действий не будет работать, так как переменная расширяется:
> dir "c:blah%temp%.txt"
> dir "c:blah^%temp^%.txt"
> dir "c:blah%%temp%%.txt"
> dir "c:blah%temp%.txt"
> dir "c:program files%temp%"
> dir "c:program files^%temp^%"
> dir "c:program files%%temp%%"
> dir "c:program files%temp%"
Использование подстановочных знаков будет работать, но не однозначно выбрать файл / папку и может включать в себя другие:
> dir "c:blah?temp?.txt" (also shows ztempz.temp, 1tempa.txt, etc.)
> dir "c:program files?temp?" (likewise)
(Это расстраивает, потому что время от времени-обычно, когда проводник перезапускается для независимо от причины-переменные среды перестают расширяться и некоторые места, где они используются в конечном итоге создания файлов или каталогов с переменной среды в нем. Например, потому что я настроил Chromium для хранения кэша в подкаталоге %temp%
, если переменная расширяется, это нормально, но когда это не так, Chromium создает каталог с именем %temp%
под своей Директорией и хранит тайник-который может получить больш-там. Я хочу добавить строку в сценарий очистки временных / нежелательных файлов автоматически удалять эту папку, если она существует, но я не могу понять, как получить к ней доступ из командной строки, не прибегая к подстановочным знакам.)