在单个Windows命令中移动多个文件

时间:2019-02-11 06:43:20

标签: windows batch-file cmd

我有一个包含各种tif文件的文件夹。我正在使用一个简单的移动命令,读取为

move "Source path/File name" "Destination path/" 

我尝试了一条命令,内容为:

move "Source path/File 1, File 2. File 3" "Destination Path/"

我正在寻找可以帮助我的类似公式。这段代码对我很重要的原因

在iam仅将一个文件移动到目标文件夹的情况下 在另一种情况下,我必须选择3个或更多文件到另一个目标文件夹。如果我使用通用公式执行此操作,则需要更长的时间才能完成。

请对此提出建议。

move "Source path/File 1, File 2. File 3" "Destination Path/"

在仅将一个文件移动到目标文件夹的情况下。 在另一种情况下,我必须选择3个或更多文件到另一个目标文件夹。 例: Sample

如果我使用通用公式执行此操作,则需要更长的时间才能完成。

1 个答案:

答案 0 :(得分:0)

您可以尝试下面的代码。

Sub MoveFiles()

    Dim DestinationPath As String
    Dim SourcePath As String
    Dim FileNames As String
    Dim Sp() As String
    Dim i As Integer

    SourcePath = Environ("USERPROFILE") & "\Desktop"
    DestinationPath = "H:\TestFolder"
    FileNames = "File1.txt,File2.txt,File3.txt"

    If Right(SourcePath, 1) <> "\" Then SourcePath = SourcePath & "\"
    If Right(DestinationPath, 1) <> "\" Then DestinationPath = DestinationPath & "\"
    If Len(FileNames) Then
        Sp = Split(FileNames, ",")
        For i = 0 To UBound(Sp)
            Sp(i) = Trim(Sp(i))
            If Len(Dir(SourcePath & Sp(i))) Then
                Name SourcePath & Sp(i) As DestinationPath & Sp(i)
            End If
        Next i
    End If
End Sub

根据您的系统设置“源”和“目标”路径。在一个逗号分隔的字符串中输入或多或少的文件名。如果所有命名文件都存在于SourcePath中,则将被移动。如果目标路径不存在,则会发生错误。