特定のファイル名をあるフォルダから別のフォルダにコピーする

特定のファイル名をあるフォルダから別のフォルダにコピーする

Windows に約 200,000 個の画像ファイルを含むフォルダーがあります。コピーする必要があるすべての画像ファイル名を含むテキスト ファイルを作成し、それらを新しいフォルダー (約 20,000 個) に抽出できるようにしました。各画像には固有のファイル名が付いています (例: xb0001.jpg、画像 345766777.jpg など)。

テキスト ファイルにリストされている各画像を元のフォルダーから新しいフォルダーに抽出するために使用できるプログラム/プロセス/バッチはありますか?

私はコマンドラインにあまり詳しくないので、バッチ処理が解決策である場合の詳細なヘルプは非常に役立ちます。

答え1

スタート メニューから入力してPowershellWindows PowerShell表示されるアイコンをクリックします (一番上にあります)。

次のコマンドを実行します。

Get-Content c:\filestocopy.txt | ForEach-Object {copy-item $_ c:\newlocation}

次の変更を加えます。

  1. c:\filestocopy.txt --> これを作成したファイルにします
  2. c:\newlocation --> ファイルをコピーする場所を指定します

これが何をしているかの内訳は次のとおりです。

Get-Content c:\filestocopy.txt  --> This reads the file you created to be used later
| (pipeline)                    --> This is called a pipe. It takes the object from the left and passes it to the command on the right.
ForEach-Object {  }             --> This runs the commands between the brakets {} on each object that is passed from the pipe
copy-item  $_ c:\newlocation    --> Just what it says, it copies $_ to c:\newlocation
$_                              --> This is a variable, it contains the current item from the pipe

すべてのコマンドへのリンクは次のとおりです。
コンテンツの取得
ForEachオブジェクト
パイプライン
コピーアイテム
$_

答え2

Windows には For/if の組み合わせが含まれていますが、バグの大部分は解決されている一方で、新しい、一見より強力であるように見えるシェルには、依然として使い勝手のバグが残っているため、私は DOS コマンドを好みます。

md YourDriveLetter\%date% set newdestination = "YourDriveLetter\%date%"

/F %%t in (YourGraphicsFileList) で /q "%NewDestination%" をコピーします

200,000 枚の画像。正直に言うと、男性同士ですが、男性が 200,000 枚も集める写真は、そうです、車の写真だけです。

また、Windows や Mac でも、フォルダー内の多数の写真を解析するのは困難です。写真をスリム化して、色、サイズ、形状でグループ化するのは価値のあるアイデアですが、時間がかかります。しかし、男性が一人で座って車の写真を見つめることほど好きなことはほとんどないので、定期的に休憩を取りながら、見たばかりの車すべてを振り返りながら、すべての写真を整理することを楽しむことができます。

関連情報