2017-08-04 86 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

相关问题