プロが教えるわが家の防犯対策術!

”Sinak”というサブフォルダから”Sinak2”フォルダにリストにあるファイルをコピーしたい。
リストはテキストファイルで、以下のようにリストかしています。リストファイル名は”テスト.txt”です。
東京.jpg
名古屋.txt
大阪.pdf
サブフォルダにこれ以外にもたくさんファイルがあります。ファイル名、拡張子などはバラバラです。
ネットで調べて、バッチファイルを作成しましたが、リストに載ってないファイルもコピーされます。
バッチファイルは以下です。
-----------------------------------
echo off

ECHO. & ECHO.

set TARGET_DIR1="D:\Data\Sinak"
set TARGET_DIR2="C:\Users\owner\Desktop\Sinak2"

echo %TARGET_DIR1% を対象に作業実施します。

set /p CHS= コピー 作業開始するには"ENTER"キーを押してください :

for /F "delims=" %%i in ( テスト.txt ) do (
for /F "delims=" %%i in ('dir /s /b %TARGET_DIR1%') do copy %%i %TARGET_DIR2%)

echo コピー完了しました。

pause

exit
-------------------------------------
どうすればリストのファイルだけコピーできるんでしょうか?
詳しい方教えてください。よろしくお願いします。

質問者からの補足コメント

  • コピーしたいファイルは”Sinak”というサブフォルダの中にある別別のフォルダの中にあります。

      補足日時:2021/10/25 10:33
  • この質問に対して答えに近いものがhttps://language-and-engineering.hatenablog.jp/e …
    このサイトにありましたので、解決しました。
    興味のある方見てみて下さい。

      補足日時:2021/10/26 12:35

A 回答 (2件)

せっかくテスト.txtを読んでいながら、それを無視して、dir /s /b %TARGET_DIR1% の結果を使って、コピーしているのですべてコピーされて当然ですね。

何のために、dir /s /b %TARGET_DIR1% したのでしょう??

set TARGET_DIR1=D:\Data\Sinak
set TARGET_DIR2=C:\Users\owner\Desktop\Sinak2

echo %TARGET_DIR1% を対象に作業実施します。

set /p CHS= コピー 作業開始するには"ENTER"キーを押してください :

for /F "delims=" %%i in ( テスト.txt ) do copy "%TARGET_DIR1%\%%i" "%TARGET_DIR2%"
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。回答ありがとうございます。
コピーしたいファイルがフォルダ”Sinak”の直下にあればコピーできました。
質問不足でしたが、フォルダ”Sinak”はサブフォルダで、目的のファイルは
サブフォルダ”Sinak”の中にある別別フォルダの中にあります。
for /F "delims=" %%i in ( テスト.txt ) do copy "%TARGET_DIR1%\%%i" "%TARGET_DIR2%"
はTARGET_DIR1の直下しか検索してないようです。

お礼日時:2021/10/25 10:47

この2行を


for /F "delims=" %%i in ( テスト.txt ) do (
for /F "delims=" %%i in ('dir /s /b %TARGET_DIR1%') do copy %%i %TARGET_DIR2%)

したの1行だけに
for /F "delims=" %%i in ( テスト.txt ) do copy %%i %TARGET_DIR2%
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありません。回答ありがとうございます。
for /F "delims=" %%i in ( テスト.txt ) do copy %%i %TARGET_DIR2%
の実行結果は”指定されたファイルが見つかりません。”でした。
for /F "delims=" %%i in ( テスト.txt ) do copy %%i %TARGET_DIR2%
これだけだとどこから指定されたファイルがコピーされるか明確になってないような気がします。

お礼日時:2021/10/25 10:40

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

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