2014-10-08 35 views
0

多個文件夾中的文件夾,我想創建多個文件夾中可用的一個文件夾(VBScript)的我想創建可用

例子:

我有多個文件夾:ABC,XYZ,IJK ...等

  • 我想所有文件夾中創建一個文件夾爲 「ABC」 ABC,XYZ,TYU,ijk..etc
  • 然後將所有文件 「JPG」,在每個文件夾ABC,XYZ,TYU, ijk ..到剛創建的每個文件夾的「ABC」文件夾中
  • 檢查每個文件夾,看看文件夾「ABC」與否,空或不

strFolder = "/" '<== This place how to automatically create a folder "ABC" 
        ' in the directory available 

SET objFSO = CREATEOBJECT("Scripting.FileSystemObject") 

'Move file jpg '<== I do not get it 

IF objFSO.FolderExists(strFolder) = FALSE THEN 
    objFSO.CreateFolder strFolder 
    wscript.echo "Folder Created" 
ELSE 
    wscript.echo "Folder already exists" 
END IF 
+0

你的問題不是問題。 :)有沒有克服麻煩的具體問題? – Bond 2014-10-08 13:55:26

+0

謝謝你提醒我!我編輯過,你能幫助我嗎? – 2014-10-08 14:18:50

+0

如何確定要在其中創建新子文件夾的文件夾?在移動它們之前,「所有jpg文件」位於哪裏? – 2014-10-08 18:29:02

回答

0

要回答上面寫着爲回答這個問題......

Dim fso, shl, curdir, folder, file, newfoldername, newfolderpath 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set shl = CreateObject("WScript.Shell") 
curdir = shl.CurrentDirectory 
newfoldername = "big" 

For Each folder In fso.GetFolder(curdir).Subfolders 
    newfolderpath = fso.BuildPath(folder.Path, newfoldername) 
    If Not fso.FolderExists(newfolderpath) Then 
     fso.CreateFolder newfolderpath 
     WScript.Echo newfolderpath & " created" 
    Else 
     WScript.Echo newfolderpath & " already exists" 
    End If 
    For Each file In folder.Files 
     MoveFile file.Path, newfolderpath 
    Next 
Next 

Sub MoveFile(source, destination) 
    On Error Resume Next 
    fso.CopyFile source, destination & "\", True ' true = overwrite 
    If Err Then 
     WScript.Echo "Error copying " & source & " to " & destination & ": " & Err.Description 
     WScript.Quit 
    Else 
     fso.DeleteFile source, True 
    End If 
    On Error GoTo 0 
End Sub 

MoveFile子作爲一個常規移動,即複製文件,然後刪除源如果成功。比使用內置的fso.MoveFile函數更好,因爲它不處理覆蓋現有文件。

總結...在當前目錄的每個子文件夾中,查看是否存在子文件夾\ big。如果是這樣,那麼echo文本,否則創建文件夾和echo文本。然後對於該子文件夾中的每個文件,將其移至子文件夾\ big文件夾,覆蓋現有文件,並在副本成功時刪除源文件。移動前可以添加東西來檢查擴展名(只定位某些文件類型),或者如果文件已經存在(不覆蓋現有文件),則退出子文件夾。

+0

首先,謝謝你的回覆,很棒的算法! 非常抱歉,我不知道如何完成這個toppic? – 2014-10-15 09:43:42