我正在嘗試使用 powershell 從位于驅動器上的 zip 檔案夾中提取一些檔案,在該檔案夾中,我只能對臨時檔案夾中的桌面進行讀取訪問,在那里我可以對它們執行任何我喜歡的操作。
使用下面的代碼我沒有得到任何錯誤,但 powershell 代碼什么也不做。我錯過了什么嗎?
Sub unzip_test()
Dim myshell As Shell32.Shell
Set myshell = New Shell32.Shell
Dim args As String
args = "Expand-Archive -LiteralPath " & "'C:\Users\user1\Desktop\TEMP\examplezip.zip'" & " -destinationpath " & "'C:\Users\user1\Desktop\TEMP\tester'"
'Debug.Print (args)
myshell.ShellExecute "powershell", vargs:=args
End Sub
debug.print 列印 Expand-Archive -LiteralPath 'C:\Users\user1\Desktop\TEMP\examplezip.zip' -destinationpath 'C:\Users\st11524\Desktop\TEMP\tester'
此外,我在我的參考資料中檢查了“Microsoft Shell 控制元件和自動化”。
uj5u.com熱心網友回復:
它應該作業。我認為問題出在 Expand-Archive 呼叫中,但您看不到答案。
快速解決方法是添加-NoExit到您的電話中,就像這樣
args = "-NoExit Expand-Archive -LiteralPath " ...
這將允許您在錯誤關閉之前讀取錯誤,但您無法從代碼中讀取它。如果您需要,請看這里
uj5u.com熱心網友回復:
在另一臺計算機上對此進行測驗后,我得出結論,這是一個權限問題。我的個人計算機在我的作業計算機無法運行的情況下運行腳本就好了。我認為上面列出的代碼沒有任何問題,所以我認為這個問題已經解決。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/315579.html
