
DOSコマンドのFOR文で空白を含むファイルパスの指定方法
DOSコマンドのFOR文で、FORの繰り返し条件に
空白を含むファイルパスを指定する方法を教えてください。
やりたいことのイメージはこんな感じです。
for /f %%a in (C:\Documents and Settings\user\デスクトップ\list.txt) do (
echo %%a
)
バッチファイルとlist.txtを同じディレクトリに配置し、かつ
FOR文の前にCDを含めない事を条件にすれば
下記でもうまくいきます。
for /f %%a in (list.txt) do (
echo %%a
)
他のコマンドとの関係からこの前の処理で一度ディレクトリの
変更を行なう処理を含むため、FOR文で指定するファイルは
絶対パス指定をしたいと思っています。
簡単なことのような気もするのですが、
もしかしたら出来ないのかもしれないとも思っています。
FORの繰り返し条件に空白を含むファイルパスを
指定することはできるのでしょうか?
出来るのならばその方法を教えてください。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
for文の括弧内に空白を含むファイルパスを指定したい時には、"usebackq"オプションを使用します。
このオプションにより、括弧内で使用される各種引用符の使い方が変わります。
使用しない⇒"usebackq"を使用する
ファイル名⇒"ファイル名" (空白を含むファイルパスが使用できるようになる)
"文字列"⇒'文字列'
'コマンド'⇒`コマンド`
for /f "usebackq" %%a in ("C:\Documents and Settings\user\デスクトップ\list.txt") do (
echo %%a
)
詳しくは、"for /?"でヘルプを参照してください。
「usebackq」は存在は知っていました。
しかし何の意味があるのか理解していませんでした。
こういうときに使うのですね。
「usebackq」を指定することにより期待通りの結果を得る事が出来ました。
大変参考になりました。ありがとうございました。

No.2
- 回答日時:
空白を含むファイルパスを"文字列"として指定して試してみましたか。
たとえば下記のような指定です。
"C:\Documents and Settings"
"C:\Documents and Settings\user\デスクトップ\list.txt"
この回答への補足
試しています。
それをすると、FOR文ではまったく違う意味の処理になります。
そもそもファイルの参照ではなくなってしまいますからね。
それゆえ困っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
-
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
-
4
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
5
コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
その他(プログラミング・Web制作)
-
6
【バッチファイル】forコマンドのオプション併用
その他(プログラミング・Web制作)
-
7
バッチでCSVを処理する時、空の項目があった場合
その他(プログラミング・Web制作)
-
8
DOSコマンドのforで空白行をスキップしない
UNIX・Linux
-
9
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
10
テキストファイルから最終行の抽出
Windows Me・NT・2000
-
11
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
12
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
13
バッチファイルで改行の出力
UNIX・Linux
-
14
フォルダ作成用バッチファイル:スペースを含む名対策について
Windows Vista・XP
-
15
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
16
ワイルドカードを使ってでフォルダを削除
Windows 10
-
17
Dirコマンドでフォルダ内ファイルの合計サイズをだすには?(コマンドプロンプトにて)
UNIX・Linux
-
18
バッチファイルのFOR文について【tokens~】
ネットワーク
-
19
DOSコマンド 「forfiles」について
Windows Vista・XP
-
20
echoの出力の最後のスペースを除去したい
iOS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
ラズパイで『’test.service’をs...
-
テキストファイルから最終行の抽出
-
DOS コマンドの~zfの意味を教え...
-
DOSコマンドのFOR文で空白を含...
-
batファイルの強制終了を回避し...
-
Linuxで標準出力したファイルの...
-
数字を複数回繰り返す正規表現...
-
bash カウントダウンさせたい。
-
ファイル名についている「-」と...
-
Telnetでファイルを送信したり...
-
DOSのコマンドで、隠しファイル...
-
ファイル編集について
-
automatorでファイル名のみ取得
-
oracleの文字コードとlinuxサー...
-
Windowsバッチファイルで、隠し...
-
コマンドプロンプト dir でのソ...
-
tarコマンドのリターン値
-
Mac、アドレスブックのスマート...
-
ZIPファイルの作成をコマンドか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dirコマンドでフォルダ内ファイ...
-
ラズパイで『’test.service’をs...
-
ファイル名についている「-」と...
-
テキストファイルから最終行の抽出
-
ファイル名一覧の印刷
-
batファイルの強制終了を回避し...
-
oracleの文字コードとlinuxサー...
-
ファイル名の -(ハイフン)を _(...
-
DOSのコマンドで、隠しファイル...
-
特定の更新日付のファイルのみ...
-
DOS コマンドの~zfの意味を教え...
-
数字を複数回繰り返す正規表現...
-
DOSコマンドのFOR文で空白を含...
-
~以外を削除する場合(rmコマ...
-
ftpコマンドで丸ごとダウン...
-
Cygwinのコマンドラインから.ba...
-
Windows上にて、コマンドでunco...
-
Linuxで標準出力したファイルの...
-
xcopyのエラー情報のはき...
-
FTP接続時の文字化け(CentOS6.5)
おすすめ情報