[已解决] 如何把这VBS 转换成 AU3,谢谢。
本帖最后由 pingfan5888 于 2012-3-27 17:30 编辑Set unNamedArguments = WScript.Arguments.UnNamed
set WshShell = WScript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
strFolder = "D:\"
for count = 0 to wscript.arguments.count-1 Step 1
filename = unNamedArguments.Item(count)
Set objFile = objFSO.GetFile(filename)
set oShellLink = WshShell.CreateShortcut(strFolder & objFSO.GetBaseName(filename) & ".lnk")
oShellLink.TargetPath = filename
oShellLink.WindowStyle = 1
oShellLink.WorkingDirectory = objFSO.GetParentFolderName(filename)
oShellLink.Save
NEXT
如何把它转换成 AU3的。请教大大们了。谢谢。
#Include <File.au3>
For $i=1 To $CmdLine
$file = $CmdLine[$i]
Local $szDrive, $szDir, $szFName, $szExt
_PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
$folder = $szDrive & $szDir
FileCreateShortcut($file,"D:\" & $szFName & ".lnk",$folder,"","","",1)
Next
回复 2# www378660084
谢谢啊,就是这个了,不过,当文件夹遇到有空格的,就会创建错误了,会把空格两边的创建。本身的不行。
如
Documents and Settings 文件夹,
会创建成三个lnk文件
Documents.lnk
and.lnk
Settings.lnk
如何更改才不会有这个问题啊。 回复 3# pingfan5888
"Documents and Settings"
加引号 回复 4# veket_linux
代码里在哪加引号啊,我试了下。还是一样的。 看了一下,应该是file.au3 取文件名的问题吧,不会改啊。 #Include <File.au3>
For $i=1 To $CmdLine
$file = $CmdLine[$i]
Local $szDrive, $szDir, $szFName, $szExt
_PathSplit($file, $szDrive, $szDir, $szFName, $szExt)
$folder = $szDrive & $szDir
FileCreateShortcut($file,"D:\" & '"&$szFName&"' & ".lnk",$folder,"","","",1)
Next或者先判断路径是否包含空 本帖最后由 pingfan5888 于 2012-3-27 17:18 编辑
回复 7# tttbbb999
我从头看了一下,
应该是cmdline 这里的参数设置不对,所以取到的文件夹名称,遇到空格的就被拆分了。
后面加引号就没有效果,还是一样的。 我解决了。用cmdlineraw就行了。
谢谢大家的帮助啊。 空格木有问题滴。。我直接拖桌面上的文件试的~~~
页:
[1]