浏览文件夹的批量命令

问题描述:

我是批量脚本编程的新手。我想以编程方式浏览文件夹,然后将当前目录的内容复制到指定的目录。浏览文件夹的批量命令

我有一个VBScript脚本(下),允许我浏览一个文件夹。如何将批处理文件与它链接?也就是说,在脚本运行并选择一个文件夹后,应将文件移动到选定的文件夹。可能吗?

这里是我的浏览文件夹VBScript代码:

Option Explicit 

WScript.Echo BrowseFolder("C:\Program Files", True) 
WScript.Echo BrowseFolder("My Computer", False) 
WScript.Echo BrowseFolder("", False) 


Function BrowseFolder(myStartLocation, blnSimpleDialog) 
' This function generates a Browse Folder dialog 
' and returns the selected folder as a string. 
' 
' Arguments: 
' blnSimpleDialog [boolean] if False, an additional text field will be 
'        displayed where the folder can be selected 
'        by typing the fully qualified path 
' 
' Returns:   [string] the fully qualified path to the selected folder 
' 
' Based on the Hey Scripting Guys article 
' "How Can I Show Users a Dialog Box That Only Lets Them Select Folders?" 
' http://www.microsoft.com/technet/scriptcenter/resources/qanda/jun05/hey0617.mspx 
' 
' Function written by Rob van der Woude 
' http://www.robvanderwoude.com 
    Const MY_COMPUTER = &H11& 
    Const WINDOW_HANDLE = 0 ' Must ALWAYS be 0 

    Dim numOptions, objFolder, objFolderItem 
    Dim objPath, objShell, strPath, strPrompt 

    ' Set the options for the dialog window 
    strPrompt = "Select a folder:" 
    If blnSimpleDialog = True Then 
    numOptions = 0  ' Simple dialog 
    Else 
     numOptions = &H10& ' Additional text field to type folder path 
    End If 

    ' Create a Windows Shell object 
    Set objShell = CreateObject("Shell.Application") 

    ' If specified, convert "My Computer" to a valid 
    ' path for the Windows Shell's BrowseFolder method 
    If UCase(myStartLocation) = "MY COMPUTER" Then 
     Set objFolder = objShell.Namespace(MY_COMPUTER) 
     Set objFolderItem = objFolder.Self 
     strPath = objFolderItem.Path 
    Else 
     strPath = myStartLocation 
    End If 

    Set objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, strPrompt, _ 
              numOptions, strPath) 

    ' Quit if no folder was selected 
    If objFolder Is Nothing Then 
     BrowseFolder = "" 
     Exit Function 
    End If 

    ' Retrieve the path of the selected folder 
    Set objFolderItem = objFolder.Self 
    objPath = objFolderItem.Path 

    ' Return the path of the selected folder 
    BrowseFolder = objPath 
End Function 
+0

http://stackoverflow.com/questions/3470880/move-folder-from-one-目录到另一个功能于批处理脚本 – 2011-09-03 09:31:36

你想为你做使用相同的功能批次您的VBScript?如果是这样,我不认为你可以批量使用OpenFileDialog,使用Visual Studio和C#很容易(值得一看)。如果你想这样做批量,你可以这样做:

set /p path=Enter folder path: 
xcopy /e %cd% %path% 

如果你真的想使用批处理您可以将值传递给环境变量或将其写入io.out管道的价值了,但这些都不可取。您也可以将该值写入临时文本文件,并将您的批量用作输入。 最好也是最简单的解决方案是在脚本本身进行复制,为此提供了大量样本,还​​有更多可能对错误条件做出响应。 让我知道,如果你找不到一个,我有一个在使用,但需要在发布之前剥离一些数据..