2016-10-27 46 views
0

私はという名前のフォルダがあります。写真&動画です。
写真やビデオが保存されているさまざまな年のフォルダがあります。
年のフォルダには数か月のフォルダがあり、月のフォルダにはその月の日のフォルダがあります。
日のフォルダには、すべての画像とビデオファイルが含まれています。ExifToolを使用してフォルダ内のすべてのファイル(サブフォルダを持つ)でコマンドを実行するにはどうすればよいですか?

ここでは、1つのexiftoolコマンドを使用してこれらのファイルすべてに対してコマンドを実行したいとします。

たとえば、フォルダ内のすべてのファイルのメタデータを削除するには、このタイプのコマンドを1日に1つずつフォルダごとに実行しています。

exiftool -all= -overwrite_original Documents/Personal/Photos\ \&\ Videos/2015/3-2015/7-3-2015/ . 

問題は、あまりにも多くの日のフォルダがあることです。
Photos & Videosフォルダ内のすべてのファイルを、1つのコマンドで同時にすべてを対象にする方法はありますか?

答えて

0

はあなたのコマンドに-rを追加します助けてください。 -rはすべてのサブディレクトリに再利用します。

+0

:これらのファイルのそれぞれにコマンドを実行するには、確かに奇妙な構文で、-execパラメータを使用することができます。コマンドに-rをどこに置くのか正確に教えていただけますか? –

+0

Exiftoolは、オプションコマンドを置く場所について非常に柔軟です。しかし、物事を単純に保つために、ファイルパスの前のどこかに、最初の近くに貼り付けてください。 'exiftool -r -all = -overwrite_original' – StarGeek

+0

指定されたフォルダで-rが動作していないようです。代わりに、他のフォルダの他のファイルからメタデータを取り除き始めました。私は3つのサブフォルダを持つデスクトップのテストフォルダでこのコマンドを使用しました。 'exiftool -r -all = -overwrite_original Desktop/test/.' –

0

すべてのコマンドで機能するより汎用的な解決策は、findを使用することです。

find Documents/Personal/Photos\ \&\ Videos/2015/3-2015/7-3-2015/ -type fは、すべてのファイルをDocuments/Personal/Photos & Videos/2015/3-2015/7-3-2015に出力します。私は、スクリプトをシェルにnoobのだ

find Documents/Personal/Photos\ \&\ Videos/2015/3-2015/7-3-2015/ -type f -exec exiftool -all= -overwrite_original '{}' \; 
+0

ありがとう!受け入れられた回答をワークフローに統合しました。しかし、私もあなたの提案を試してみます:) –

+1

これはいくつかのプログラムでは唯一のことかもしれませんが、これはあなたがexiftoolでやりたいことではなく、exiftoolの柔軟性のために非常にめったに必要ありません。起動はexiftoolとループの最大のパフォーマンスヒットの1つであり、各ファイルに対して個別に実行すると実行時間が大幅に長くなります。 [パフォーマンスの向上](http://www.sno.phy.queensu.ca/~phil/exiftool/#performance)を参照してください。 – StarGeek

+0

ありがとう、知っておくと便利です。 –

関連する問題