
複数のファイル(異なるパスを持つ)を1つのフォルダにコピーしたいのですが、ここで説明されている解決策を試しました。StackExchange の例のページ しかし、ファイルを実行すると (.bat ファイルを選択しました)、次のように「0 個のファイルがコピーされました」と表示されます。 スクリーンキャプチャ 0 ファイルがコピーされました
以下は私の list.txt の例です:
T:/audio/enregistrements/2023-03-mars/maroc_2023/msd1/test.txt
T:/audio/enregistrements/2023-03-mars/maroc_2023/msd6/20230324_0454_0627_ailes oiseau et cris oiseau indetermine cala iris sentier maroc_35.1287,-4.3661_MKH8020_AB_230324_014.WAV
T:/audio/enregistrements/2023-03-mars/maroc_2023/msd6/20230324_0627_0801_ailes mesange guepier europe et chien ou loup cala iris sentier maroc_35.1287,-4.3661_MKH8020_AB_230324_015.WAV
T:/audio/enregistrements/2023-03-mars/maroc_2023/msd2/20230323_0551_0724_bruant fou fauvette melanocephale ailes pigeon ramier cala iris Maroc_35.1290,-4.3661_MKH8040_ORTF__Z_F3_230323_009.WAV
T:/audio/enregistrements/2023-03-mars/maroc_2023/msd1/20230401_0745_0918_alouette lulu_ifrane Maroc_33.5174,-5.1753_MKH8020_AB230401_014_best best mais avec vent.WAV
T:/audio/enregistrements/2023-03-mars/maroc_2023/nagra/20230401_0954_alouette lulu ifrane maroc_33.5152,-5.1763_telinga dpa 4060 nagra7_Pichard20230401094912_002_best_best.wav
私のscript.batはT:\audio\enregistrements\2023-03-mars\maroc_2023\フォルダにあります。そこには次のものが含まれています:
@echo off
for /f "tokens=* delims=" %%a in ('type "T:\audio\enregistrements\2023-03-mars\maroc_2023\list.txt"') do xcopy /hrkvy "%%a" "T:\audio\creation_sonore\projet maroc\complement"
pause
T:\audio\creation_sonore\projet maroc\complement フォルダが存在することは確かです。しかし、「complement」フォルダにも何もありません。
何が問題なのでしょうか? ありがとうございます
答え1
実際、chatgpt に問い合わせたところ、問題は解決しました。PowerShell を使用した解決策をここに投稿します。
ファイルのリストをディレクトリにコピーするために使用する PowerShell スクリプトを次に示します。
Get-Content "path\to\file\list.txt" | ForEach-Object {Copy-Item $_ -Destination "path\to\destination\directory"}
「path\to\file\list.txt」を、コピーするファイルのリストを含むテキスト ファイルへのフル パスに置き換え、「path\to\destination\directory」を、ファイルをコピーする宛先ディレクトリへのフル パスに置き換えてください。
とてもうまく機能します:)