0

Microsoft Office 2013 で使用したいのですが、vbs ファイルを開くことができません。

Set objFSO=CreateObject("Scripting.FileSystemObject")
outFile="qemu\qemu.cmd"
Set objFile = objFSO.CreateTextFile(outFile,True)
objFile.Write "@ECHO OFF" & vbCrLf
objFile.Write "pushd ""%~dp0""" & vbCrLf
objFile.Write "rem cd qemu" & vbCrLf
objFile.Write "start qemu.exe ^" & vbCrLf
objFile.Write "-smbios type=1,manufacturer=Intel,version=1.01234,uuid=564d81c6-cd3a-                        d8e4-db29-756df139acb9 ^" & vbCrLf
objFile.Write "-uuid 564d81c6-cd3a-d8e4-db29-756df139acb9 ^" & vbCrLf
objFile.Write "-net nic,vlan=0 -net user,vlan=0 -redir tcp:1688::1688 ^" & vbCrLf
objFile.Write "-m 350 ^" & vbCrLf
objFile.Write "-hda Bios\kmsm4WOen.rom ^" & vbCrLf
objFile.Write ("-rtc base=" & Year(Now) & "-" & Month(Now) & "-" & Day(Now) & "T" &     Hour(Now) & ":" & Minute (Now) & ":" & Second (Now) & ",clock=host ^") & vbCrLf
objFile.Write "-name ""KMSmicro v4.0.WO-En IP-127.0.0.1-254:1688"" ^" & vbCrLf
objFile.Write "-M pc ^" & vbCrLf
objFile.Write "-L Bios" & vbCrLf
objFile.Write "popd" & vbCrLf
objFile.Write "exit" & vbCrLf
objFile.Close
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run ("qemu\qemu.cmd",,True)
Set obj = CreateObject("Scripting.FileSystemObject")
obj.DeleteFile(outfile)    

すべての vbs ファイルを開くことができません。修正方法を教えてください。ありがとうございます。

4

1 に答える 1

0

サブフォルダーが存在しないため、3 行目のエラー「800a004c - パスが見つかりません」がスローされますqemu.CreateTextFile()ファイルを作成しますが、ファイルのパスにフォルダーは作成しません。

PS:

.CreateTextFile()と は相対.Run()パスを使用するため、どこかにフォルダーを「持っている」qemuことは役に立ちません。これは、現在のディレクトリのサブ フォルダーである必要があります。この問題を回避する最善の方法は、絶対/ハードコードされたパスを使用することです。

outFile="a:\b\c d\qemu\qemu.cmd"
Set objFile = objFSO.CreateTextFile(outFile,True)
...
outFile = """" & outFile & """"
Return = WshShell.Run (outFile,,True)
于 2013-02-22T07:49:31.927 に答える