
No.2ベストアンサー
- 回答日時:
for /f %%A in ('dir /b /s c:\"a aa"\*.pdf') do echo copy "%%A" D:\
のようにecho でどのようなコマンドが実行されているか確認しましょう。
この記述ではdirコマンドで表示されるパスの中に空白があるため %%A には空白までの文字列しか代入されません。
以下のように修正して試してみてください。
for /f "delims=" %%A in ('dir /b /s c:\"a aa"\*.pdf') do copy "%%A" D:\
No.3
- 回答日時:
No.1 です。
No.1 補足、了解です。調べてるうちにNo.2 さんが回答されましたが
せっかく書いたので投稿しておきます。内容はほぼ同じです。
dirコマンドが該当ファイルをみつけフルパスで1行ずつ返すのですが、(画面に現れない)
フルパス中にスペースを含み、for がこれを区切りとみなしてしまうのが原因です。
for は区切り文字が、デフォルトでスペースとタブですが、オプション delims で変更できます。
以下のようにするといいでしょう。
for /f "delims=," %%A in ('dir /b /s "c:\a aa\*.pdf"') do copy "%%A" D:\
デリミタ(区切り文字)を , にしてます。スペース以外で他の意味を持たない文字なら何でもいいんですが。
回答ありがとうございました。
delimsの意味が良く分かりました。
今回は回答が早かった方をベストアンサーにさせて頂きますが、貴殿の回答は、説明があって分かりやすかったです。
No.1
- 回答日時:
for 文の拡張機能は詳しくないのにナニですが、
何をしたいのかいまいち不明なので補足願います。
for により1コずつどのような文字列を取得し DO 以降に当て嵌めて実行するのが
正常な姿なのかシミュレーションできません。
>フォルダ名にスペースがあるため、うまく動きません。
ではフォルダ名をスペースなしに変更(バッチファイル内記述も)したら
期待通りに動作するのですか?
>c:\a aa*.pdf
の部分、aa と * の間に \ が要るようにも思われますし。
環境は同じとは限りませんが、当方では「ファイルが見つかりません」になりますし。
この回答への補足
バッチファイルでの利用を考えています。
c:\a aa\*.pdf これが正解です。\が抜けてました。すみません。
スペースなしのフォルダ名aaaの場合は、期待通り作動します。
c:\a aaこれ以下にあるpdfファイルをサブフォルダ内も検索して、Dドライブにコピーするコードになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
その他(プログラミング・Web制作)
-
-
4
echoの出力の最後のスペースを除去したい
iOS
-
5
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
6
DOSコマンドのFOR文で空白を含むファイルパスの指定方法
UNIX・Linux
-
7
フォルダ作成用バッチファイル:スペースを含む名対策について
Windows Vista・XP
-
8
バッチでCSVを処理する時、空の項目があった場合
その他(プログラミング・Web制作)
-
9
バッチファイルで変数の中身をファイル出力したい
UNIX・Linux
-
10
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
11
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
12
バッチファイルでのスペースの入力
Windows 10
-
13
batファイル、コマンドプロンプトでファイル名の置換
その他(プログラミング・Web制作)
-
14
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
15
コマンドプロンプトでリネーム
その他(コンピューター・テクノロジー)
-
16
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
17
DOSコマンドのforで空白行をスキップしない
UNIX・Linux
-
18
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
19
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
-
20
バッチスクリプト処理でエラーが発生しても無視して続行する方法
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ftpコマンドを実行すると「425 ...
-
コマンドプロンプトとCygwinの違い
-
Ethnaで作ったサイトのアップの...
-
ショートカットをデスクトップ...
-
エクセルのVBAについて とある...
-
コマンドプロンプトのエラーに...
-
win10の「フォト」で、「次へ」...
-
大量のフォルダからひとつのフ...
-
一括でフォルダと同じ名前にフ...
-
コマンドプロンプトの「%1」と...
-
「win11-23H2」を「win11-24H2...
-
.htaccess で読み込む .htpassw...
-
複数の既成インストーラを連係...
-
Windowsアプリケーションをメモ...
-
.txtではなく.logの方が良いの...
-
パソコンのフォルダー内のファ...
-
テキストファイルのタブをカン...
-
蔵衛門デジブックでダウンロー...
-
txtの中身を表示する方法教えて...
-
コマンドプロンプトで変数が数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
コマンドプロンプトをクリック...
-
バッチ終了時にDOS窓を閉じるコ...
-
make test って何をするための...
-
ftpコマンドを実行すると「425 ...
-
シェルの「:コマンドが見つか...
-
バッチファイルを使ってテキス...
-
コンピュータ名をファイル名に...
-
DOSコマンドに詳しい方、お知恵...
-
xCopyコマンドでネットワークご...
-
AccessVBAで実行時間を指定する...
-
findstrでヒットした1行前の文...
-
ftpコマンド出力結果の取得
-
シェルスクリプト(.sh)で、10進...
-
バッチえファイルを編集するに...
-
VBA 特定文字含むファイル
-
VisioのVBAでユーザにファイル...
-
複数のフォルダを開くバッチフ...
-
コマンドプロンプトでファイル...
-
シェルスクリプト内のcdで、カ...
おすすめ情報