2016-12-19 7 views
0

Когда дело доходит до командной строки Windows, я всегда путаюсь о пути, который так легко понять в терминалах Linux Terminal.Удалите все на пути, за исключением некоторых файлов в Windows CMD.

То, что я хочу сделать, я хочу, чтобы удалить все (как файлы и папки в одной команде) в пути (например, для. pub\static путь к каталогу), за исключением файла с именем .htaccess родственница из моего корневого каталога (C:\wwwroot\Magento2), который открывается в командной строке Windows.

Как это сделать, я пробовал нижний цикл for, но вместо этого он удаляет .htaccess. Также как избежать цикла for в целом, но выполнить работу, как я описал (относительно корневого каталога)?

for %i in (C:\wwwroot\Magento2\pub\static\*) do if not %i == .htaccess del %i 

Так что я гугле немного, и пытался ниже одного, но он ничего не делает:

FOR /D %p IN ("C:\wwwroot\Magento2\pub\static\*.*") DO (IF NOT %p == .htaccess (IF EXIST %~sp\NUL (RMDIR "%p" /S /Q) ELSE (DEL /F "%p"))) 
+0

Это намного проще в PowerShell , –

+0

Также: Что произойдет, если в подкаталоге есть _only_ файл '.htaccess'? Должен ли мы удалить подкаталог или нет? –

+0

Только .htaccess непосредственно в папке 'static' должен оставаться, остальная часть содержимого внутри' static'-папки должна исчезнуть навсегда. –

ответ

0

Single PowerShell команду:

Get-ChildItem C:\inetpub\wwwroot\Magento2\pub\static -Recurse | 
    Where-Object { $_.Name -ne ".htaccess" } | Remove-Item -Recurse 
+0

Ну это дает эту ошибку 'Пустой элемент трубы не разрешен. На линии: 1 символ: 4 + | <<<< Where-Object {$ _. Name -ne ".htaccess"} | Remove-Item -Recurse + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: EmptyPipeElement' –

+0

Даже если у меня нет доступа администратора, также я могу открывать и запускать команды в Powershell? –

+0

Вам не обязательно быть администратором. Кроме того, две приведенные выше строки представляют собой одну команду. Новая строка предназначена для чтения. Я переместил символ трубы в нужное место. –

 Смежные вопросы

  • Нет связанных вопросов^_^