如何用vb讀取局域網的D盤路徑下的一個test.jpg檔案,需要動態獲取完整路徑?
本人想通過客戶端電腦做一個程式,程序需要讀取服務端(局域網ip:192.168.1.99)D盤卷標是 本地磁盤(D),檔案為text.jpg,本人在獲取路徑的程序中,如果D盤卷標為英文的話,如 SOFTWARE(D)可以順利讀取到正確的路徑,如果是中文,本地磁盤(D)這樣的名稱則是無法讀取完整的路徑,現在請教各位高手有什么辦法可以幫小弟解決,謝謝!感激不敬!
或者高手如果能夠一次性用vb直接獲取服務端test.jpg的完整路徑,那就更好了,謝謝 哦!
uj5u.com熱心網友回復:
生成一個批處理檔案a.bat:net use z: \\192.168.1.99\d$ password
dir /b /s z:\text.jpg >pf.txt
net use z: /delete
Shell "a.bat",vbHide
'然后讀檔案pf.txt的內容
uj5u.com熱心網友回復:
zhao4zhong1 你好,謝謝你回答,不過還請您詳細點說明一下詳細的處理方法,或者有沒有vb的相關原始碼實體?謝謝uj5u.com熱心網友回復:
zhao4zhong1 你好,謝謝你回答,不過還請您詳細點說明一下詳細的處理方法,或者有沒有vb的相關原始碼實體?謝謝
uj5u.com熱心網友回復:
將其中的password替換為共享名\\192.168.1.99\d$對應密碼dim f as integer
dim pf as string
f=freefile()
open "a.bat" for output as #f
print #f,"net use z: \\192.168.1.99\d$ password"
print #f,"dir /b /s z:\text.jpg >pf.txt"
print #f,"net use z: /delete"
close #f
shell "a.bat",vbHide
kill a.bat
f=freefile()
open "pf.txt" for input as #f
line input #f,pf
close #f
debug.print "pf=["+pf+"]"
uj5u.com熱心網友回復:
第10行kill a.bat應改為kill "a.bat"uj5u.com熱心網友回復:
好的,謝謝,我試試!非常感謝
uj5u.com熱心網友回復:
你好 ,測驗了一下,提示12行 Open "pf.txt" For Input As #f 這句 檔案為找到
uj5u.com熱心網友回復:
結帖率:20% #7 得分:0 回復于: 2013-12-16 15:22:09
參考 4 樓 zhao4zhong1 的回復:
將其中的password替換為共享名\\192.168.1.99\d$對應密碼
Visual Basic code?123456789101112131415 dim f as integer dim pf as string f=freefile() open "a.bat" for output as #f print #f,"net use z: \\192.168.1.99\d$ password"print #f,"dir /b /s z:\text.jpg >pf.txt"print #f,"net use z: /delete"close #f shell "a.bat",vbHide kill a.bat f=freefile() open "pf.txt" for input as #f line input #f,pf close #f debug.print "pf=["+pf+"]"
你好 ,測驗了一下,提示12行 Open "pf.txt" For Input As #f 這句 檔案為找到
將其中的password替換為共享名\\192.168.1.99\d$對應密碼
dim f as integer
dim pf as string
f=freefile()
open "a.bat" for output as #f
print #f,"net use z: \\192.168.1.99\d$ password"
print #f,"dir /b /s z:\text.jpg >pf.txt"
print #f,"net use z: /delete"
close #f
shell "a.bat",vbHide
kill a.bat
f=freefile()
open "pf.txt" for input as #f
line input #f,pf
close #f
debug.print "pf=["+pf+"]"
結帖率:20% #7 得分:0 回復于: 2013-12-16 15:22:09
參考 4 樓 zhao4zhong1 的回復:
將其中的password替換為共享名\\192.168.1.99\d$對應密碼
你好 ,測驗了一下,提示12行 Open "pf.txt" For Input As #f 這句 檔案未找到
uj5u.com熱心網友回復:
一個可能是你的代碼跑得比磁盤寫入快。做一個回圈,檢查 pf.txt 是否存在。另一個可能是路徑問題。你的 pf.txt 寫在哪里了,你讀的路徑是哪里?
uj5u.com熱心網友回復:
quote=參考 4 樓 zhao4zhong1 的回復:]將其中的password替換為共享名\\192.168.1.99\d$對應密碼
dim f as integer
dim pf as string
f=freefile()
open "a.bat" for output as #f
print #f,"net use z: \\192.168.1.99\d$ password"
print #f,"dir /b /s z:\text.jpg >pf.txt"
print #f,"net use z: /delete"
close #f
shell "a.bat",vbHide
kill a.bat
f=freefile()
open "pf.txt" for input as #f
line input #f,pf
close #f
debug.print "pf=["+pf+"]"
zhao4zhong1 你好,再請問一下,pt.txt 檔案打開里面是空白的是不是與這個有關
下面是我修改后的代碼
Dim f As Integer
Dim pf As String
f = FreeFile()
Open "a.bat" For Output As #f
Print #f, "net use z: \\192.168.1.66\d$ admin"
Print #f, "dir /b /s z:\11.bmp >pf.txt"
Print #f, "net use z: /delete"
Close #f
Shell "a.bat", vbHide
Kill "a.bat"
Dim f As Integer
Dim pf As String
f = FreeFile()
Open "pf.txt" For Input As #f
Line Input #f, pf
Close #f
Debug.Print "pf=[" + pf + "]"
在局域網192.168.1.66中的D盤有個檔案11.bmp
[
uj5u.com熱心網友回復:
將其中的password替換為共享名\\192.168.1.99\d$對應密碼
dim f as integer
dim pf as string
f=freefile()
open "a.bat" for output as #f
print #f,"net use z: \\192.168.1.99\d$ password"
print #f,"dir /b /s z:\text.jpg >pf.txt"
print #f,"net use z: /delete"
close #f
shell "a.bat",vbHide
kill a.bat
f=freefile()
open "pf.txt" for input as #f
line input #f,pf
close #f
debug.print "pf=["+pf+"]"

以下是我修改后的代碼:
Dim f As Integer
Dim pf As String
f = FreeFile()
Open "a.bat" For Output As #f
Print #f, "net use z: \\192.168.1.66\d$ admin"
Print #f, "dir /b /s z:\11.bmp >pf.txt"
Print #f, "net use z: /delete"
Close #f
Shell "a.bat", vbHide
Kill "a.bat"
f = FreeFile()
Open "pf.txt" For Input As #f
Line Input #f, pf
Close #f
Debug.Print "pf=[" + pf + "]"
幫我看看哪里出錯了,提示檔案未找到,我運行后打開 pt.txt 里面是空的,是不是與這個有關,我是想獲取 192.168.1.66的D盤下的一個11.bmp 圖片檔案的路徑。
uj5u.com熱心網友回復:
Dim f As Integer
Dim pf As String
Dim after as Double
f = FreeFile()
Open app.path+"\a.bat" For Output As #f
Print #f, "net use z: \\192.168.1.66\d$ admin"
Print #f, "dir /b /s z:\11.bmp >"+app.path++"\pf.txt"
Print #f, "net use z: /delete"
Close #f
Shell app.path+"\a.bat", vbHide
after=Now+5#/24#/3600#
Do
DoEvents
if Dir(app.path+"\pf.txt")<>"" then Exit do
if Now>after Then
Debug.Print "wait file "+app.path+"\pf.txt 5s overtime!"
endif
Loop
f = FreeFile()
Open app.path+"\pf.txt" For Input As #f
Line Input #f, pf
Close #f
Debug.Print "pf=[" + pf + "]"
Kill app.path+"\a.bat"
uj5u.com熱心網友回復:
還可以試試:ServerShare = "\\192.168.3.56\d$"
UserName = "somedomain\someuser"
Password = "somepassword"
Set NetworkObject = CreateObject("WScript.Network")
NetworkObject.MapNetworkDrive "", ServerShare, False, UserName, Password
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Directory = FSO.GetFolder(ServerShare)
For Each FileName In Directory.Files
WScript.Echo FileName.Name
Next
Set FileName = Nothing
Set Directory = Nothing
Set FSO = Nothing
NetworkObject.RemoveNetworkDrive ServerShare, True, False
Set NetworkObject = Nothing
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/132463.html
標籤:VB基礎類
上一篇:VB2008專案打包發布
下一篇:spread控制元件使用
