我正在尝试找到一个脚本,让我右键单击XP(或7)中的文件,然后选择和选项(如“复制到MyServer”)。
这会将文件复制到设置位置,然后它会将文件路径和文件名复制到剪贴板,以便我可以将该位置粘贴到其他位置。 (我想将其粘贴到仅接受图片网址的帮助台票证中。)
基本上,这可以让我将计算机上的图片复制到特定的服务器,然后将该位置粘贴到我的表单中。有意义吗?
我发现了一些将复制文件的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
答案 0 :(得分: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
以打开“发送到”文件夹并放入这里是脚本的快捷方式。如果您执行后者,那么您应该能够右键单击文件并从“发送到”菜单中选择脚本。