
現在、コマンド ラインを動作させようとしています。
動作方法は次のとおりです。フォルダーとサブフォルダー内のすべてのファイルで特定の名前をチェックし、それらのファイルを別のフォルダーにコピーします。
これまで試してみた
xcopy /d /y /s "D:\Test\Screenshot\pcd_*.jpg" "D:\Copy\pcd\"
問題は、/s を使用すると、すべてのフォルダーも考慮され、ファイルだけでなくフォルダーもコピーされることです。
そこで私はforループを考えて試してみました
for /r %d in (D:\Test\Screenshot\pcd_*.jpg) do xcopy /d /y "%d" "D:\Copy\pcd\"
しかし、運がありませんでした。エラーもなく、ただ何もありませんでした。
誰かが解決策を持っていることを願っています。また、お時間を割いていただいたことに感謝したいと思います。
答え1
テスト方法for /f
その代わりfor /r
、また、置き換えるxcopy
にcopy
指示:
cd /d "D:\Test\Screenshot\" && for /f tokens^=* %i in ('%__APPDIR__%where /r "." "pcd_*.jpg"')do copy /y "%~i" "D:\Copy\pcd\"