Я хотел бы удалить все файлы на сервере Windows, соответствующие этому подстановочному знаку:
E:\Cache\*\*\*_ROOT\a*_SYMBOL\еженедельно*
В Linux я мог бы просто поставить rm -rf
перед ним и это бы сработало. Если я попробую что-то подобное в Windows, он просто выдаст мне:
Неверный синтаксис имени файла, имени каталога или метки тома.
Есть идеи, что я могу сделать?
решение1
ИспользоватьСиловая оболочка, который встроен в Win7
например, rm -rf будет переведено как:
Remove-Item E:\Cache\*\*\*_ROOT\a*_SYMBOL\weekly* -force
решение2
Поделитесь папкой. Подключитесь к общему ресурсу с помощью Linux. Используйте ls
для создания списка файлов. Откройте ваш любимый текстовый редактор и отредактируйте список. Добавьте del
в начало каждой строки. Замените все /
на \
и измените путь с /cache
на E:\
. Добавьте кавычки вокруг каждого пути, чтобы защитить от ^
в имени файла и измените все %
на %%
. Скопируйте содержимое в .bat
файл и выполните.
решение3
Cygwinочень полезно для таких вещей, если у вас нет машины linux для общего доступа. После установки вы сможете выполнять команду linux непосредственно в папках windows.