我有一个包含大约10000张图像的文件夹,我需要将其中的500张复制到另一个文件夹中。
如果我创建了要复制的文件列表,我该如何将文件复制到文件中?
是在考虑vbscript还是可以使用交换机等彻底的DOS命令,例如Xcopy?
谢谢,
答案 0 :(得分:3)
假设你有一个文本文件列表,这里是一个vbscript
Set objFS=CreateObject("Scripting.FileSystemObject")
Set objArgs = WScript.Arguments
strFile = objArgs(0)
strDestination = objArgs(1)
Set objFile =objFS.OpenTextFile(strFile)
Do Until objFile.AtEndOfLine
strLine = objFile.ReadLine
objfs.CopyFile strLine,strDestination &"\"&strLine
Loop
另存为myscript.vbs和命令行
C:\test>more file
test1.txt
test2.txt
c:\test> cscript //nologo myscript.vbs file c:\destination\directory
如果您想要批次
@echo off
for /F %%i in (file) do ( copy "%%i" c:\destination )
如果你想根据某种模式移动文件列表,只需执行
c:\test> copy *pattern*.txt c:\destination
答案 1 :(得分:2)
对于命令行上的一次性,准备一个filenames.txt,每行一个名称。然后发出:
for /f %n in (filenames.txt) do copy "%n" "t:\arget\folder"
对于VBScript,您可以使用Scripting.FileSystemObject
和它的近亲(如File
和Folder
对象)来实现相同的功能,但相比之下,这更复杂。 ghostdog74的答案显示了一种方式。