2014-09-10 146 views
0

我有一個用戶文件夾和文件夾中的一個文件夾,需要刪除所有的內容,但離開文件夾顯示所有的名稱。VB腳本從文件夾中刪除子文件夾和文件

的文件夾結構是:

d:\用戶\ aanderson \數據\東西
d:\用戶\ acarlson \數據\東西
d:\用戶\ banderson \數據\東西

,我想刪除一切,但:

d:\用戶\ aanderson \
d:\用戶\ acarlson \
d:\用戶\ banderson \

我嘗試了幾個不同的劇本,但它非常簡單,只是清空整個文件夾(當然使用的測試文件夾)

+0

請你可以發佈你已經嘗試的代碼。 – 2014-09-10 17:25:39

回答

0

從命令行,這樣做是

for /d %a in ("d:\users\*") do (pushd "%~fa" && (rmdir . /s /q 2>nul & popd)) 

這是最簡單的方法,對於每個子文件夾,請在其中放置一個鎖以避免將其移除。在這種情況下,鎖定爲pushd,因爲您無法刪除當前的工作文件夾。

所以,做同樣在VBScript

Option Explicit 

Dim shell, fso 
    Set shell = WScript.CreateObject("WScript.Shell") 
    Set fso = WScript.CreateObject("Scripting.FileSystemObject") 

Dim folder 
    For Each folder In fso.GetFolder("d:\users").SubFolders 
     shell.CurrentDirectory = folder.Path 
     On Error Resume Next : folder.Delete True : On Error Goto 0 
    Next 
相關問題