Set in = WScript.Arguments怎么获取in的绝对路径,绝对路径变量为a?(怎样用vbs获取一个文件的绝对路径??)
- 怎样用vbs获取一个文件的绝对路径??
- VBS 我把一个文件拖到了一个VBS上,想让另外一个变量获取拖上去的文件的绝对路径。要怎么写?急啊!
- 怎样利用.lnk文件找出程序所有的位置?用VBS脚本
- 批处理程序怎么提取文件位置
怎样用vbs获取一个文件的绝对路径??
Set objDialog=CreateObject("UserAccounts.CommonDialog")
objDialog.Filter="*.*"
objDialog.InitialDir="C:\"
tfile=objDialog.ShowOpen
MsgBox objDialog.FileName
VBS 我把一个文件拖到了一个VBS上,想让另外一个变量获取拖上去的文件的绝对路径。要怎么写?急啊!
LCase 小写转换
Right获取字符串右数的数个字符
Args是个对象
Item是Args对象的一个合集
c是一个变量
WScript.Arguments是参数集 就像tab中的%1 %2......%n的合集
-----------vbs文件内容------------
Set objArgs = WScript.Arguments
For I = 0 to objArgs.Count - 1
WScript.Echo objArgs(I)
Next
-------------------------------
将文件拖动到上面的vbs文件上会提示文件路径,即:该文件的第一个参数,相当于tab的%1
wscript ***.vbs %1 %2..........
怎样利用.lnk文件找出程序所有的位置?用VBS脚本
set WshShell = WScript.CreateObject("WScript.Shell")
if wscript.arguments.length=0 then msgbox("请直接拖动快捷方式至其上"):wscript.quit
for each arg in wscript.arguments
set oShellLink = WshShell.CreateShortcut(arg)
msgbox oShellLink.TargetPath
next
set oShellLink=nothing
set Wshell=nothing
把lnk文件拖到上面就会显示真实目标路径。
补充:
由于lnk文件是已经编译的命令参数集合,普通的文本读取无法识别其数据,目前我只能通过arguments属性来查看参数,进而显示属性。
=================================================================
呵呵,可以识别路径的。你用记事本打开看看就知道了。
不,肉眼确实可以识别,不过要是用readline或者read来读取的话就不行了,他只会显示一个字符“L”,就没有其他内容了,虽然我们在记事本看到了真实路径,但是就是读不出来,他不像url文件,我读取不出来,要不您试试?
==============================================================
补充:
set WshShell = WScript.CreateObject("WScript.Shell")
set oShellLink=WshShell.CreateShortcut("我的电子书.lnk")
msgbox oShellLink.TargetPath
我的这个例子是显示vbs同目录下“IE 浏览器.lnk”这个文件的目标,你手动修改下。
我感觉还是不如拖过去方便。
批处理程序怎么提取文件位置
批我忘了,倒是有段vbs的,功能可以通过拖放文件到vbs脚本上获取路径
function getfolder()
getfolder=left(wscript.scriptfullname,instrrev(wscript.scriptfullname,"\")-1)
end function
path=left(wscript.scriptfullname,len(wscript.scriptfullname)-len(Wscript.ScriptName))
ptxt=path&"\Path.txt"
Set fso = wscript.CreateObject("Scripting.FileSystemObject")
set f=fso.opentextfile(ptxt,8,true)
path=Left(Wscript.ScriptFullName,len(Wscript.ScriptFullName))
if wscript.arguments.count=0 then
msgbox "请将需要操作文件拖放到本脚本上即可!",48,"提示"
wscript.quit
end if
for each fname in wscript.arguments
f.writeline(fname)
next
f.close