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下的子目錄)