コマンドライン文字列No.00454
じむ さん 07/10/11 11:01
 
XPで、DOSコマンドラインにスペースを含むファイル名を記述するとスペース以前
の文字がファイル名として扱われてしまいます。
下のサンプルの場合、DOSのエコーコマンドをログファイルに保存しようとしていま
すが、保存先が[ D:\My ]というファイルになってしまいます。
コマンド文字列をダブルコーテーションで囲んでもだめなようです。
どなたか、回避策をご存知でしょうか?


#FILENAME="d:\My Documents\test.log"
log #FILENAME, create
log
#Cmd="cmd /c ^"ECHO [COMPUTERNAME] > " +#filename +"^""
message #Cmd
runsync2 #Cmd

[ ]
RE:00454 コマンドライン文字列No.00455
秀まるお2 さん 07/10/11 11:46
 
   cmd /c echo XXXX > "c:\My Documents\test.log"

 は成功するので、

   #Cmd="cmd /c ECHO [COMPUTERNAME] > ^"" +#filename +"^""

 としたらいいんじゃないでしょうか。

 というか、echo コマンドでファイルに追加書き込みするってことなら、

   #Cmd="cmd /c ECHO [COMPUTERNAME] >> ^"" +#filename +"^""

 のような気がしますけど。

[ ]
RE:00455 コマンドライン文字列No.00456
じむ さん 07/10/11 12:45
 
>   cmd /c echo XXXX > "c:\My Documents\test.log"
>
> は成功するので、
>
>   #Cmd="cmd /c ECHO [COMPUTERNAME] > ^"" +#filename +"^""
>
> としたらいいんじゃないでしょうか。
>
> というか、echo コマンドでファイルに追加書き込みするってことなら、
>
>   #Cmd="cmd /c ECHO [COMPUTERNAME] >> ^"" +#filename +"^""
>
> のような気がしますけど。


解決しました。ありがとうございましたm(_ _)m

[ ]