返回列表 发帖
注册表脚本不支持多文件,表现就是多个文件执行bat,会弹出多个cmd窗口。所以简单的脚本貌似无解,开发dll等操作不在此列
目前建议有两个,
一个利用右键发送功能,直接把多文件发送给脚本,这个可以支持多文件。
二个是采用集成有这类功能的资源管理,推荐Directory Opus,这也是我目前在用的管理器,替换系统管理器无压力。

下面是两个功能的vbs脚本,分别保存为vbs文件后,
在开始--运行--输入shell:sendto,把两个vbs文件复制进去即可,
之后选择多个文件后,点右键--发送即可实现相关功能。
'复制多文件完整路径到剪切板
Dim filearray()
ReDim filearray(WScript.Arguments.Count - 1)
For i = 0 To WScript.Arguments.Count - 1
filearray(i) = WScript.Arguments(i) & ">>tem"
Next
filearrays=join(filearray, "&echo ")
CreateObject("WScript.shell").Run "cmd /C echo " & filearrays & "&clip<tem&del tem", 0COPY
'复制多文件名称到剪切板
Dim filearray()
ReDim filearray(WScript.Arguments.Count - 1)
For i = 0 To WScript.Arguments.Count - 1
filearray(i) = CreateObject("Scripting.FileSystemObject").GetFileName(WScript.Arguments(i)) & ">>tem"
Next
filearrays=join(filearray, "&echo ")
CreateObject("WScript.shell").Run "cmd /C echo " & filearrays & "&clip<tem&del tem", 0COPY

TOP

除了注册表不支持%*,无法同时传递多个变量,
还有一个问题,就是for %%i in (%*)j语句中,文件的命名不能带英文反括号,否则语句失效。
解决的办法有,但不完美,就是文件命名不能带英文反括号,或者命名必须同时有空格和英文反括号。

TOP

返回列表