У меня есть пакетный сценарий следующим образом.
D:
del "D:\TEST\TEST1\Archive\*.TSV"
del "D:\TEST\TEST1\Archive\*.TXT"
del "D:\TEST\TEST2\Archive\*.TSV"
del "D:\TEST\TEST2\Archive\*.TXT"
del "D:\TEST\TEST 100%\Archive\*.TSV"
del "D:\TEST\TEST 100%\Archive\*.TXT"
Приведенный выше код удаляет все файлы «.txt» и «.tsv» из всех папок, кроме папки TEST 100%
. При удалении файлов TEST 100%
я получаю сообщение об ошибке The Path could not be found
. Я предполагаю, что символ% в имени папки создает проблему. Может ли кто-нибудь помочь мне решить проблему и удалить файлы из папки TEST 100%
?
batch-file
Сатиш
источник
источник
Ответы:
Вам нужно избежать% с другим ...
источник
Есть несколько способов делать что-то в пакетном режиме, поэтому, если экранирование с двойным процентом
%%
не работает для вас, вы можете попробовать что-то вроде этого:Как это работает:
set olddir=%CD%
устанавливает переменную"olddir"
или любое другое имя переменной, которое вам нравится, в каталог, из которого был запущен ваш командный файл.cd /d "path of folder"
изменяет текущий каталог, в который будет смотреть пакет. сохраните цитаты и измените путь к папке, к которой вы стремитесь.del "file name/ or *.txt etc..."
удалит файл в текущем каталоге, на который смотрит ваш пакет, просто не добавляйте путь к каталогу перед именем файла, а просто укажите полное имя файла или, чтобы удалить несколько файлов с тем же расширением*.txt
или любым другим расширением, которое вам нужно.cd /d "%olddir%"
берет переменную, сохраненную с вашим старым путем, и возвращается в каталог, с которого вы запустили пакет, это не важно, если вы не хотите, чтобы пакет возвращался к своему предыдущему пути к каталогу, и, как указано до того, как имя переменной может быть изменено на все, что вы хотите, изменив файлset olddir=%CD% line
.источник
pushd "folder" && del "filename" & popd
.Допустим, вы сохранили свое программное обеспечение на своем рабочем столе.
если вы хотите удалить всю папку, например программу удаления, вы можете использовать это.
это приведет к удалению всей папки, называемой программным обеспечением, и всех ее файлов и подпапок
Убедитесь, что вы удалили правильную папку, потому что для этого нет варианта Да / Нет
источник
Учтите, что файлы, которые вам нужно удалить, имеют расширение
txt
и находятся в этом местеD:\My Folder
, тогда вы можете использовать приведенный ниже код внутри файла bat.источник
в пакетном коде ваш путь не должен содержать пробелов, поэтому, пожалуйста, измените имя вашей папки с «TEST 100%» на «TEST_100%», и ваш новый код будет del «D: \ TEST \ TEST_100% \ Archive * .TXT»
надеюсь, это решит вашу проблему
источник