dポイントプレゼントキャンペーン実施中!

下記のような1行だけ書かれたテキストファイルがあり、その中からダブルクォーテーションで囲まれた部分を抜き出そうとしています。
--【abc.txt】-----------------------------------------------------------
Command Line: "C:\Program Files\test\test.exe"
---ここまで-------------------------------------------------------------
(C:\Program Files\test\test.exe を抜き出したい)
DOSコマンドのfor文を使って抜き出そうとしたのですがダブルクォーテーションをどうやってデリミタに指定したらいいのかわかりません。
  for /f 'delims=" tokens=2' %i in (test.txt) do @echo %i  とか
  for /f "delims="" tokens=2" %i in (test.txt) do @echo %i など
いろいろやってみたのですがエラーが出ました。

試しにテキストファイルのダブルクォーテーションを”+”に置き換えて試したところうまく出来たので、デリミタの指定の仕方だけだと思うのですが、どうしてもわかりません。

Command Line: +C:\Program Files\test\test.exe+   に対して
for /f "delims=+ tokens=2" %i in (test.txt) do @echo %i はうまく出来ました。

どなたかご享受願えませんでしょうか。
よろしくお願いします。

A 回答 (1件)

>ダブルクォーテーションをどうやってデリミタに指定したらいいのかわかりません。


マイクロソフトでは、ダブルクォーテーションをデリミタに指定するのは「想定外」ですので、ダブルクォーテーションをデリミタに指定する事は出来ません。

他のコマンドで、ダブルクォーテーションを他の文字に置換し、その結果に対して操作して下さい。
    • good
    • 0
この回答へのお礼

大変遅くなってしまいました。
結局フリーのソフトを使って、デリミタ文字を置き換えることによって実現することが出来ました。
ありがとうございました。

お礼日時:2009/11/27 14:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています