2017-08-04 27 views
0

這是我的批處理文件代碼:批處理文件從父刪除子文件夾(S)與異常(S)

@ECHO ON 
cd D:\Parent_Folder 
del /s /q D:\Parent_Folder\ 
rmdir /s /q D:\Parent_Folder\ 

Parent_Folder:

  • 農行(文件夾)
  • XYZ。 zip

我想從我的父文件夾中只刪除Abc文件夾,但我想保留這個代碼的xyz.zip文件它被刪除來自父文件夾的所有數據。

+0

您需要指定,如果你想刪除/刪除Parent_Folder'的'內容除了'xyz.zip',您是否要刪除/刪除'Parent_Folder'留在原位的所有文件中的所有子目錄,如果你只想刪除'Abc'目錄或不同的東西。 – Compo

+0

是的,我想刪除parent_folder的所有內容,除了xyz.zip –

+0

它是特別是xyz.zip或子文件夾內的所有文件。然後你想在那裏存儲文件。 – Rishav

回答

1

如果您願意在PowerShell中執行此操作,則可以使用以下方法。如果您確信要刪除正確的文件和目錄,請從Remove-Item中刪除-WhatIf交換機。當然,改變目錄路徑和文件名以保持你的。

Get-ChildItem -Path 'C:/src/t/' -Exclude 't.py' | 
    Remove-Item -Recurse -Force -WhatIf 

如果您不顧一切地從cmd.exe執行此操作,則可以這樣做。

powershell -NoProfile -Command "Get-ChildItem -Path 'C:\src\t' -Exclude 't.py' | Remove-Item -Recurse -Force -WhatIf" 
+0

A'| Where-Object Name -ne't.py'|'排除一個項目會比foreach和if更有效率。 – LotPings

+0

@LotPings - 我嘗試使用'-Exclude',但沒有成功。那是當我也試圖使用'-File'時,它什麼都沒有返回。我將編輯答案。 – lit

相關問題