我正在尋找一種方法來查找最近的文件夾,將文件複製到目標文件夾。VB腳本 - 查找最近的文件夾,將文件複製到目標文件夾
0
A
回答
0
試試這個:
rootFolder = "C:\root"
dstFolder = "C:\dst"
Set fso = CreateObject("Scripting.FileSystemObject")
Set mostRecent = FindMostRecent(fso.GetFolder(rootFolder))
For Each f In mostRecent.Files
f.Copy fso.BuildPath(dstFolder, f.Name)
Next
Function FindMostRecent(fldr)
Set mrf = fldr
For Each sf In fldr.SubFolders
Set mrsf = FindMostRecent(sf)
If mrsf.DateLastModified > mrf.DateLastModified Then Set mrf = mrsf
Next
Set FindMostRecent = mrf
End Function
0
我看到你通過你的文件夾作爲參數時遇到一些困難。 Ansgar Wiechers的例子展示瞭如何用硬編碼值來做到這一點。爲了簡單起見,我們通常在我們的答案中進行。
rootFolder = "C:\root" 'target folder (where to search)
dstFolder = "C:\dst" 'destionation (where to copy)
但是,如果你更喜歡通過他們的動力像...
CScript my_task.vbs C:\root C:\dst
...那麼這包括在您的.vbs文件的開頭:
With WScript.Arguments
If .Count < 2 Then WScript.Quit(-1)
rootFolder = .Item(0)
dstFolder = .Item(1)
End With
接下來,通過閱讀你的意見,在我看來,你只需要立即的子文件夾,如果是這樣,因爲批處理腳本不太好,我會做這樣的事情:
tmpFile = "result.txt" 'temp file
With CreateObject("WScript.Shell")
.CurrentDirectory = rootFolder
.Run "CMD /C DIR /A:D /B /O:-D /T:C > " & tmpFile, 0, True
With CreateObject("Scripting.FileSystemObject")
With .OpenTextFile(tmpFile)
mostRecent = .ReadLine
End With
.GetFile(tmpFile).Delete
End With
.CurrentDirectory = mostRecent
.Run "CMD /C COPY *.* " & dstFolder, 0, False
End With
二手DIR開關:
/A:D = attributes Directory
/B = bare format
/O:-D = order by date/time (newly first)
/O:D = order by date/time (oldest first)
/T:C = sort by Creation
/T:A = sort by Last Access
/T:W = sort by Last Written
相關問題
- 1. 將文件從源文件夾複製到目標文件夾
- 2. 從文件夾複製最近的文件到目的地
- 3. 將文件夾複製到文件夾
- 4. 將文件夾結構複製到目標文件夾
- 5. 將文件夾從文件夾複製到文件夾python
- 6. 將源文件夾中的文件複製到不同的目標文件夾
- 7. 將文件多次複製到不同的目標文件夾
- 8. Dynamcially從文件夾和子文件夾的文件複製到目標
- 9. 將文件從目錄中的文件夾複製到新文件夾
- 10. Apple腳本:將文件複製到生成的文件夾
- 11. 將裝載的文件夾複製到本地文件夾
- 12. 複製文件到本地文件夾
- 13. 將文件夾從一個文件夾複製到一個新文件夾
- 14. 將.tar.gz文件複製到文件夾
- 15. 將文件複製到文件夾
- 16. VB腳本_CReating文件夾裏面的文件夾
- 17. C#將文件複製到目標文件夾
- 18. 將文件夾的子項複製到多個文件夾
- 19. PowerShell的最新文件夾複製到另一個文件夾
- 20. 將文件夾集合複製到子文件夾中的腳本
- 21. 將文件從共享文件夾複製到javaservlet中的本地文件夾
- 22. 如何在VB中將文本文件從一個文件夾複製到另一個文件夾?
- 23. 將包含文件夾中特定文本的文件從文件夾複製到其他文件夾
- 24. iphone將文件夾從文件夾複製到文檔
- 25. 複製文件夾中最近的文件
- 26. ruby將文件夾與子文件夾複製到目標位置
- 27. 將源文件夾和目標文件夾之間的差異複製到第三個文件夾
- 28. WiX:將文件從本地文件夾複製到安裝文件夾
- 29. 查找和複製文件到現有的文件夾與python
- 30. 文件夾中的最近文件
謝謝@Ansgar Wiechers這看起來比我有更好的。但是,當我從cmd提示符運行它時,請調用test.vbs沒有任何反應。最後,我在哪裏設置目標文件夾?再次感謝! – user2195411 2013-03-22 20:04:32
'CLS 組knownpath = C:\一個 FOR/F 「delims =」 %%一個在( 'DIR /廣告/ OD/b 「的%knownpath%」')做( 集名稱= %%一個 ) 複製「%knownpath%\%name%」「C:\ b」'我發現這個工作,謝謝! – user2195411 2013-03-22 20:33:14
您的批處理解決方案將僅檢查'%knownpath%'的直接子文件夾。它不會看起來更深。無論如何,你沒有看到任何東西的原因是因爲我的腳本剛剛找到最近更改的文件夾。它實際上沒有做任何事情。我添加了用於將文件複製到其他文件夾的代碼。 – 2013-03-22 20:41:41