2016-07-01 7 views
13

मैं subfolders/फ़ाइलों के साथ एक फ़ोल्डर को हटाने की कोशिश कर रहा हूँ।आइटम को हटा नहीं सकता है। निर्देशिका खाली नहीं है

Remove-Item -Force -Recurse -Path $directoryPath 

मैं त्रुटि Cannot remove item. The directory is not empty.

मेरे PowershellScript.ps1ExecutionPolicy अप्रतिबंधित है हो रही है। रूट फ़ोल्डर जो मैं वर्तमान लॉग इन उपयोगकर्ता के साथ हटाने की कोशिश करता हूं इस फ़ोल्डर पर पूर्ण अनुमति है।

मेरे स्थानीय पीसी पर कोड काम करता है लेकिन मेरे Windows Server 2012 R2 पर नहीं।

उत्तर

14

आप निम्न की कोशिश कर सकते:

Remove-Item -Force -Recurse -Path "$directoryPath\*" 

लेकिन Remove-Item में -Recurse पैरामीटर हमेशा सही ढंग से काम नहीं करता है तो यह सबसे अच्छा Remove-Item को Get-ChildItem फिर उन्हें पाइप के साथ पहले फ़ाइलों recurse करने।

Get-ChildItem $directoryPath -Recurse | Remove-Item -Force 
+0

मैंने एसओ पर पढ़ा कि मेरे मामले में - रिकर्स को ठीक काम करना चाहिए। – HelloWorld

+0

क्या आप PowerShell संस्करण का उपयोग कर रहे हैं? – Richard

+0

PSVersion 4.0 है लेकिन ऐसा लगता है कि मूल त्रुटि संदेश भ्रामक हो सकता है या वास्तविक बग को छुपा सकता है। जब मैं अपने निष्पादित insertstatementscripts.bat से SQLCMD लेनदेन को हटा देता हूं तो रूट फ़ोल्डर हटाया जा सकता है !!! ऐसा लगता है कि powerhell के भीतर SQLCMD + लेनदेन एसिंक्रोनस निष्पादन कर रहा है ... और SqlCmd इंतजार नहीं करता है। – HelloWorld

संबंधित मुद्दे