2011-06-16 270 views
0

我试图找到一个脚本,将让我在XP上右键单击文件(或7),然后选择和选项(如“复制到MyServer的“)。VBS脚本复制文件,然后复制路径和文件名到剪贴板

这将会把文件拷贝到设定的位置,然后它会那么该文件的文件路径和名称复制到剪贴板,这样我可以该位置粘贴到别的东西。 (我想将它粘贴到我的帮助台,只接受图片的URL)

所以基本上这会让我复制我的计算机上的图片到特定的服务器,然后将位置粘贴到我的表单中。合理?

我发现了一些VBS代码,将复制一个文件,以及一些VBS代码,可以让我用鼠标右键单击文件,以获得显示的位置。但我不知道如何合并它们。任何想法如何做到这一点?

复制代码:

Dim FSO 
Set FSO = CreateObject("Scripting.FileSystemObject") 
FSO.CopyFile "\\file to be copied path", "\\destination directory" 

获取路径代码(需要一个注册表编辑在上下文菜单中会显示):

set oFso = createObject("scripting.filesystemobject") 

if wscript.arguments.count >= 1 then 

    strPath = wscript.arguments(0) 


    strDriveName = ofso.GetDriveName(strPath) 

    set oDrive = ofso.GetDrive(strDriveName) 



    Select Case oDrive.DriveType 
      Case 0: t = "Unknown" 
     Case 1: t = "Removable" 
     Case 2: t = "Fixed" 
     Case 3: t = "Network" 
     Case 4: t = "CD-ROM" 
     Case 5: t = "RAM Disk" 
    End Select 

    strFileName = ofso.GetFileName(strPath) 

    test = inputbox("The path is...","Path", strPath) 

else 

    msgbox "no args" 

end if 

回答

2

此代码将一个参数(文件名)并将其移动到代码顶部的sLocation中定义的位置。完成后,它将显示确认信息并将剪贴板中的文件路径(位于新位置)粘贴。

据我所知,VBScript没有能力直接操作剪贴板,所以我们把它交给MSDOS clip命令来做到这一点。

Option Explicit 
' Change sLocation in the line below to the folder you want to move files to. 
Dim sLocation : sLocation = "C:\Temp" 
Dim fso : Set fso = CreateObject("Scripting.FileSystemObject") 
Dim wsh : Set wsh = WScript.CreateObject("WScript.Shell") 
If WScript.Arguments.Count = 0 Then 
    MsgBox "Missing a filename!" 
    WScript.Quit 
End If 
If fso.FileExists(WScript.Arguments(0)) = False Then 
    MsgBox "File '" & WScript.Arguments(0) & "' doesn't exist!" 
    WScript.Quit 
End If 
Dim oFile : Set oFile = fso.GetFile(WScript.Arguments(0)) 
fso.CopyFile oFile.Path, sLocation 
Dim sNewLocation : sNewLocation = sLocation & "\" & oFile.Name 
wsh.Run "cmd.exe /c echo " & sNewLocation & "| clip", 0, True 
Msgbox "File moved to " & sNewLocation & VbCrLf & "and new path copied to clipboard." 
Set fso = Nothing 
Set wsh = Nothing 
Set oFile = Nothing 

要安装,你需要或者添加注册表项,以便该脚本称为一个项目时,右键单击或你为了打通“发送到”文件夹,并把运行以下命令shell:sendto这是剧本的捷径。如果你使用后者,那么你应该能够右键点击一个文件并从“发送到”菜单中选择脚本。

+0

喜欢这个短片解决方案! 大多数其他解决方案依赖于IE浏览器,现在提示用户访问到剪贴板。如果您没有显示IE,那么脚本会自动失败。 这个剪辑解决方案效果很好。 :-) – 2017-05-11 01:22:24