我有一個xcopy無法在.bat(批處理)文件中正確運行,因爲有些挪威語字符。如何獲得一個單行的xcopy命令以在vbscript中運行?
該生產線是:
xcopy /I /V /H /R /C /Y /K /O /X "G:\P - cad_files\Drawings\163997 Ø1000XØ90 T7-8-9.PDF" "F:\CAD\P - cad_files\Drawings\163997 Ø1000XØ90 T7-8-9.PDF"
如果我從失敗批處理文件中爲「0文件複製」來運行它,因爲它會將源文件錯誤地歸因於字符集。
我試過改變chcp使用chcp以及使用記事本+ +和編碼與各種字符集,但它仍然失敗,由於我在Windows批處理的限制。
所以我的問題是,我怎麼能得到上面的行在VBScript中執行並記錄xcopy輸出?
我想:
set objShell = CreateObject("wscript.Shell")
strSource = "G:\P - Tdwos_cad_files\Drawings\163997 Ø1000XØ90 T7-8-9.PDF"
strDest = "F:\CAD\P - Tdwos_cad_files\Drawings\163997 Ø1000XØ90 T7-8-9.PDF"
command = "xcopy /I /V /H /R /C /Y /K /O /X " & chr(34) & strSource & chr(34) &chr(32) & chr(34) & strDest & chr(34) & " > F:\testvbs.log 2>&1"
objshell.run command
,然後執行「CSCRIPT test.vbs」
但不幸的是,這並不儘管事實上,如果我改變objshell.run
到wscript.echo
它顯示正確的工作輸出爲「命令」變量...意味着它顯示正確的語法。
所以...任何程序員知道我可以如何在vbscript中正確運行原始xcopy行?如果你知道如何使用編碼正確地在一個批處理文件中運行它,那也沒關係......我只是還沒有想出來。
注意:我應該說我甚至不確定這會解決我的編碼問題......但是我希望vbscript執行的方式與批處理shell不同 – TheCleaner
如果使用通配符,該怎麼辦? – npocmaka
@npocmaka - 我不能...我有一套特定的文件(大約7k),我需要從各種來源複製到不同的目的地(每個文件1個匹配1個)。我有輸入源文件列表和目標文件列表,但這對我沒有多大幫助。我嘗試了for循環,但xcopy抱怨...但這給了我相同的結果。所以我去了一個「行xcopy批處理文件」的行,但任何與挪威字符行失敗。 – TheCleaner