[ 新規に投稿する ]

コマンドライン文字列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
[ ]

[ 新規に投稿する ]