
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) 【マクロ】フォルダを2つのモニターの定位置に並べたい 2 2022/09/02 01:14
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/02 11:48
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
このQ&Aを見た人はこんなQ&Aも見ています
-
コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
その他(プログラミング・Web制作)
-
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
-
4
DOSコマンドのFOR文で空白を含むファイルパスの指定方法
UNIX・Linux
-
5
batである文字列内に特定の文字列が含まれているか確認したい
その他(プログラミング・Web制作)
-
6
フォルダ作成用バッチファイル:スペースを含む名対策について
Windows Vista・XP
-
7
echoの出力の最後のスペースを除去したい
iOS
-
8
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
9
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
10
バッチファイルでのスペースの入力
Windows 10
-
11
バッチファイルで変数の中身をファイル出力したい
UNIX・Linux
-
12
コマンドプロンプトでリネーム
その他(コンピューター・テクノロジー)
-
13
batファイル、コマンドプロンプトでファイル名の置換
その他(プログラミング・Web制作)
-
14
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
15
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
16
バッチでCSVを処理する時、空の項目があった場合
その他(プログラミング・Web制作)
-
17
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
18
Batch: フォルダ内の特定のファイル以外を全て削除
その他(プログラミング・Web制作)
-
19
コマンドプロンプト標準出力とファイル出力両方
その他(プログラミング・Web制作)
-
20
Windowsコマンドプロンプトのmoveコマンドが何度も構文エラーエラーを吐き出す件。
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
シェルの「:コマンドが見つか...
-
C#でLAN内の他のPCをシャ...
-
バッチ終了時にDOS窓を閉じるコ...
-
ftpコマンドを実行すると「425 ...
-
CPRMでコピーしたDVDを再コピー...
-
Pythonで単純にファイルを結合...
-
FTP送信エラーの検知について
-
バッチファイルについて教えて...
-
コンピュータ名をファイル名に...
-
findstrでヒットした1行前の文...
-
ダブルクォーテーションのファ...
-
プログラムの追加をバッチファ...
-
FFFTP
-
ショートカットをデスクトップ...
-
make test って何をするための...
-
BATファイル作成時の記述に...
-
VBScriptでCABファイルを展開する
-
シェルスクリプト内のcdで、カ...
-
大量のフォルダからひとつのフ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
バッチ終了時にDOS窓を閉じるコ...
-
コマンドプロンプトをクリック...
-
make test って何をするための...
-
findstrでヒットした1行前の文...
-
シェルの「:コマンドが見つか...
-
ショートカットをデスクトップ...
-
ftpコマンドを実行すると「425 ...
-
バッチファイルを使ってテキス...
-
Pythonで単純にファイルを結合...
-
フォルダ、ファイル操作に最適...
-
シェルスクリプト内のcdで、カ...
-
コンピュータ名をファイル名に...
-
DOSコマンドに詳しい方、お知恵...
-
SSH接続でwindowsサーバのコマ...
-
FTPの連続実行でフリーズする
-
ftpコマンド出力結果の取得
-
バッチファイルについて教えて...
-
2つ目の「pause」は無効?
-
バッチファイルでのMACアドレス...
おすすめ情報