1. 首页 > 科技

Set in = WScript.Arguments怎么获取in的绝对路径,绝对路径变量为a?(怎样用vbs获取一个文件的绝对路径??)

Set in = WScript.Arguments怎么获取in的绝对路径,绝对路径变量为a?(怎样用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