1. vbs 选择文件,获取文件路径,并彰显出来,非文件夹
DimoDLG,i
SetoDLG=CreateObject("MSComDlg.CommonDialog")
WithoDLG
.DialogTitle="打开文件"
.FilterIndex=1
'.flags=512'设置多选文件选项,如不需要则删除此行
.MaxFileSize=255
.ShowOpen'选择其他内容:.ShowPrinter,.ShowColor,ShowFont
'.Color=Screen.ActiveForm.ForeColor
'.ShowColor
If.FileName<>""Then
OpenFileDlg=.FileName
msgboxOpenFileDlg,,"你选择的文件名是:"
i=instrrev(OpenFileDlg,"")
ifi>0thenOpenFileDlg=left(OpenFileDlg,i-1)
msgboxOpenFileDlg,,"你选择的文件夹是:"
EndIf
EndWith
SetoDLG=Nothing
2. 如何用vbs获取指定路径下的文件名并输出到文本文件
给你写个简单的public function ReplaceStr(FilePath,ExtensioNname,Find,WreplaceStr)on error resume next '绕过读写错误dim fso,read,list set fso = createobject("scripting.filesystemobject") for each list in fso.getfolder(filepath).files '遍历文件夹 if fso.getextensionname(list)=ExtensioNname then '判断文件是否是txt,若是则执行 read=fso.opentextfile(list).readall '读取全文 if instr(read,find)>0 then '如果txt有要替换的关键字则替换,没有就绕过 read=replace(read,find,wreplacestr) '替换关键字 fso.createtextfile(list.path).write read '写入文本 end if end if next set fso=nothing '释放内存,这里注意,我没有重新设定新对象,尽量不要用以免你忘记加上close导致代码在读写时发生错误,若一定要用的时候才用,我一般是这样的end functionreplacestr "e:\1","txt",123,empty '将e:\1文件夹下的所有txt类型文件中的123初始化(即删除)
3. 怎样用vbs获取一个文件的绝对路径
Set objDialog=CreateObject("UserAccounts.CommonDialog")
objDialog.Filter="*.*"
objDialog.InitialDir="C:\"
tfile=objDialog.ShowOpen
MsgBox objDialog.FileName
4. vbs带空格路径问题
这样肯定可以,使用shortpath函数获取短文件名后再处理:
Set Fso=CreateObject("Scripting.FileSystemObject")
Set WsShell=CreateObject("WScript.Shell")
workingdir=WScript.ScriptFullName
workingdir=StrReverse(fso.getfile(workingdir).shortpath)'我只改了这一句
count=InStr(workingdir,"\")
workingdir=StrReverse(Right(workingdir,Len(workingdir)-count))
msgbox workingdir'加上这一句可以看到获取的东西,你自己删除这一句。
'以上的是获取vbs脚本所在目录,有可能包含空格~
windir0=Fso.getspecialfolder(0)
cmdline=workingdir&"\streams.exe -d "&windir0&"\*"
WsShell.Run cmdline,vbHide,True
windir1=Fso.getspecialfolder(1)
cmdline=workingdir&"\streams.exe -d "&windir1&"\*"
WsShell.Run cmdline,vbHide,True
5. VBS怎么获取系统AppData文件夹路径
%AppData%路径的获取,可以通过两种方式,
1) 环境变量
SetoShell=CreateObject("WScript.Shell")
strHomeFolder=oShell.ExpandEnvironmentStrings("%APPDATA%")
wscript.echostrHomeFolder
2) shell的Namespace空间
ConstssfAPPDATA=&H1A
SetoShell=CreateObject("Shell.Application")
strHomeFolder=oShell.NameSpace(ssfAPPDATA).Self.Path
wscript.echostrHomeFolder
都可以“动态”的得到用户的AppData路径,后面自己添加Local字符串即可。(Win7下面AppData环境变量是要输出AppDataRoaming目录的,而Local和Roaming是平级,同样都是AppData下的子目录)