我目前正在開展一項工作中的自動化項目。我需要將大於6000KB的文件與文件夾中的其他文件分開的程序步驟之一。我正在尋找一個能夠將大於6000KB的文件從當前目錄移動到另一個目錄的批處理文件。我需要這個批處理文件來處理一批文件,而不僅僅是一個。有關如何在批處理文件中執行此操作的任何想法?如何根據文件大小將文件從目錄移動到另一個目錄
回答
您可以使用與文件對象VBS:File object reference
,或者你可以嘗試使用此命令提取文件大小做一個.bat文件。
for %%R in ([filepath and name]) do if %%~zR GTR [file size]
從這個頁面:Batch file to check filesize
我會建議VBS選項更安全。
編輯:這是用於移動文件的批處理文件。請將<move file>
更改爲更合適的命令。
@echo off
for /F "usebackq tokens=3,4" %%i IN (`dir /-C`) DO CALL :MOVE_FILES %%i %%j
exit /b 0
:MOVE_FILES
if %1.==. exit /b 0
if %1 GEQ 6000000 <move file>
我對vbs幾乎一無所知。我需要能夠每天在導入的文件夾上運行此腳本。它將檢查文件大小並將大於6000 KB的所有文件移動到不同的文件夾,因爲它需要不同的自動化。 –
ROBOCOPY c:\From c:\To /E /MOVE /MIN:6144000 /MT:32
替換爲 「C:\從」 和 「c:\以」 路徑你的真實路徑文件
/MIN:n
:最小的文件大小 - 排除小於n字節的文件。
/MT[:n]
:多線程複製,n =否。線程的使用(1-128)### 默認= 8個線程,而不是與/ IPG和/ EFSRAW 兼容針對windows7
/E
:拷貝子文件夾,包括空子文件夾。
/S
:複製子文件夾。
的Robocopy是一個標準Windows7的命令,用它在Windowx XP下載並安裝Microsoft Resource Kit
我目前正在使用Windows XP,因此這個命令行將不會執行。我試圖下載資源工具包。它只是一本書還是它的軟件?我只看過書。從來沒有聽說過。 –
http://www.microsoft.com/download/en/details.aspx?id=17657 - 對不起,固定鏈接到資源工具包下載頁面也在我的文章。這是來自微軟的一款軟件。安裝它,然後你就可以使用robocopy命令。 BTW/MT:32參數在Windows XP中無法訪問 - 使用「ROBOCOPY c:\從c:\ To/E/MOVE/MIN:6144000」 – Cheburek
如果你想使用VBScript,您可以使用此腳本爲基礎:
' use a default source path or get one from the command line parameters
dim sourcepath: sourcepath = "some\default\path"
if WScript.Arguments.Named.Exists("source") then
sourcepath = WScript.Arguments.Named("source")
end if
' use a default destination path or get one from the command line
dim destinationpath: destinationpath = "some\default\path"
if WScript.Arguments.Named.Exists("destination") then
destinationpath = WScript.Arguments.Named("destination")
end if
' use a default file size limit or get one from the command line
' we accept in kbytes so we convert this to bytes
dim sizelimit: sizelimit = 6000 * 1024 ' default 6000 kbytes
if WScript.Arguments.Named.Exists("sizelimit") then
sizelimit = WScript.Arguments.Named("sizelimit")
end if
' use a Scripting.FileSystemObject to get the file objects of each file
' in the source directory. The file object has a Size property, which
' has the file size in bytes
dim fso: set fso = CreateObject("Scripting.FileSystemObject")
dim sourcefolder: set sourcefolder = fso.GetFolder(sourcepath)
if not fso.FolderExists(destinationpath) then
' we'll throw an error if the path is not found but you could instead
' create the directory automatically
err.raise 1,,destinationpath & " not found"
end if
' loop through each file in the directory, compare size property against
' the limit and copy as appropriate
dim file, count: count = 0
for each file in sourcefolder.Files
if file.size > sizelimit then
file.Move destinationpath
count = count + 1
end if
next
WScript.Echo("complete: " & count & " file(s) moved")
您可以從批處理文件運行此操作(稱爲move-files.vbs
):
cscript move-files.vbs /source:"C:\Documents and Settings\Username\Desktop" /destination:"F:\backup" /sizelimit:1000
- 1. 將文件從一個目錄移動到另一個目錄
- 2. 將文件從一個目錄移動到另一個目錄
- 3. 將文件從一個目錄移動到另一個目錄
- 4. 如何將一個目錄中的大量文件從一個目錄移動到另一個目錄?
- 5. 如何將文件從一個目錄移動到另一個目錄
- 6. 如何將文件從一個目錄移動到另一個目錄?
- 7. 如何將文件從一個目錄移動到另一個目錄?
- 8. Powershell:根據文件內的字符串將文件從一個目錄移動到另一個目錄
- 9. 如何將文件從默認目錄移動到另一個目錄?
- 10. 無法將csv文件從一個目錄移動到另一個目錄
- 11. 將文件從一個目錄移動到另一個目錄的腳本
- 12. 將文件夾內容從一個目錄移動到另一個目錄
- 13. 使用Java將文件從一個目錄移動到另一個目錄
- 14. 將文件夾從一個目錄移動到另一個目錄。在c#
- 15. 使用Java NIO將文件從一個目錄移動到另一個目錄
- 16. 將文件從一個目錄移動到另一個目錄的VBscript
- 17. FTP:將文件從一個目錄移動到另一個目錄的速度
- 18. 將文件移動到一個目錄
- 19. 將文件從一個目錄複製到另一個目錄
- 20. 將文件從一個目錄複製到另一個目錄
- 21. 將文件從一個目錄複製到另一個目錄
- 22. 將文件從一個目錄複製到另一個目錄
- 23. 將文件從一個目錄複製到另一個目錄
- 24. 將文件從多個目錄移動到單個目錄
- 25. 如何將文件從多個目錄移動到一個目錄
- 26. 將文件從目錄移動到子目錄,除了一個目錄
- 27. 如何在將文件從目錄移動到另一個目錄後保存文件路徑
- 28. 如何將文件移動到另一個目錄,而無需在目標目錄中指定文件名?
- 29. 如何將我的文件從一個目錄複製到另一個目錄?
- 30. 如何將子文件夾與文件移動到另一個目錄?
http://stackoverflow.com/q/7363523/69820 – 2011-09-09 15:45:11