ファイル名からファイル(写真、ビデオ)の変更 -- file-system フィールド と file-transfer フィールド と file-management フィールド と media-files フィールド と bash フィールド android 関連 問題

Change file (pictures, videos) timestamp from filename


0
vote

問題

日本語

TRUの周囲に異なるディレクトリの周囲とPC /スマートフォンでファイルを移動するときは、通常、最後に変更された日付のタイムスタンプが通常、移動/コピー操作の非常に日付にリセットされます。これにより、一部のアプリ(Gallery)では、特にイメージやビデオのために非常に迷惑なもので、ファイルが順次並べ替えられているファイルがあります。

通常、これらの種類のファイルは、ビデオのためのイメージとvid_yyyymdd_hhmmss.mp4のためのimg_yyyymmdd_hhmmss.jpgの命名規則に従います。 だから私は 998877666544330 とファイル名からの文字を抽出することについて、ファイル名自体のエフェクト部分にあるタイムスタンプを組み合わせて考えています。

このスクリプトを見つけました EphestioneのHQ < / a> <コード> for i in IMG*.jpg; do busybox touch -t ${i:4:8}${i:13:4}.${i:17:2} $i; done しかし、ターミナルでのみ機能します。私はそれからスクリプトを作ろうとしましたが、それはうまくいきません(下記参照)

<事前> <コード> $ openssl s_client -connect <IPADDRESS> 2

理想的には、このようなスクリプトを最上位のDCIMまたは写真ディレクトリに入れて、それがサブディール内のすべての画像やビデオを処理します。もちろん根ざしています。

英語

When moving files around tru different dirs and across PC / smartphone, timestamp for last modified date usually get reset to the very datetime of move / copy operation. This lead to files being non-chronologically sorted in some apps (Gallery), quite annoying especially for Images and Videos.

Usually these kind of files follows the naming convention of IMG_YYYYMMDD_HHMMSS.jpg for Images and VID_YYYYMMDD_HHMMSS.mp4 for Videos. So I thought about combining touch and extracting character from filenames, the timestamp being in effect part of the filename itself.

I found this script at Ephestione's HQ for i in IMG*.jpg; do busybox touch -t ${i:4:8}${i:13:4}.${i:17:2} $i; done but works in terminal only. I tried to make a script out of it but it doesn't work (see below)

#!/system/bin/sh #change timestamp for images filename IMG_YYYYMMDD_HHMMSS.jpg  for i in IMG_*.jpg do     touch -t ${i:4:8}${i:13:4}.${i:17:2} $i done  #change timestamp for whatsapp images IMG-YYYYMMDD-WAnnnn.jpg for i in IMG-*WA*.jpg do     touch -t ${i:4:8}1234 $i done  #change timestamp for videos filename VID_YYYYMMDD_HHMMSS.mp4 for i in VID_*.jpg do     touch -t ${i:4:8}${i:13:4}.${i:17:2} $i done  #change timestamp for whatsapp videos IMG-YYYYMMDD-WAnnnn.mp4 for i in VID-*WA*.mp4 do     touch -t ${i:4:8}1234 $i done 

Ideally I'd like to put a script like this in the top level DCIM or Pictures directory and have it process all the Images and Videos in the subdirs. Of course I'm rooted.

              

回答リスト

1
 
vote
vote
ベストアンサー
 

スクリプトから削除<コード> 99887766544330 inループ

それは次のようになるべきです:

<事前> <コード> basename $i1

あなたのスクリプトに応じたwhatsappのイメージとビデオは同じ時間12:34を持っています。

編集:サブディレクトリを通過するには、次のようにループを変更してください。

<事前> <コード> basename $i2

説明:

検索。 -type f -name " .mp5":現在のディレクトリ(。)に "img _ .jpg"(-name "_ * ..jpg")が含まれているファイル(-type t)の検索(。)そしてサブディレクトリ。

j = basename $i :ファイル名(パス全体ではなく)を取得し、それをjに割り当てます。

touch -t $ {j:4:8} $ {j:13:4} $ i:$ {j:4:8} $ {j:に取得した日時に基づいてファイルの修正時刻を変更します。 13:4}。

 

Remove from the script the .${i:17:2} in for loop.

It should be:

#!/system/bin/sh #change timestamp for images filename IMG_YYYYMMDD_HHMMSS.jpg  for i in IMG_*.jpg do     touch -t ${i:4:8}${i:13:4} $i done  #change timestamp for whatsapp images IMG-YYYYMMDD-WAnnnn.jpg for i in IMG-*WA*.jpg do     touch -t ${i:4:8}1234 $i done  #change timestamp for videos filename VID_YYYYMMDD_HHMMSS.mp4 for i in VID_*.jpg do     touch -t ${i:4:8}${i:13:4} $i done  #change timestamp for whatsapp videos IMG-YYYYMMDD-WAnnnn.mp4 for i in VID-*WA*.mp4 do     touch -t ${i:4:8}1234 $i done 

Note that the images and videos from WhatsApp according to your script have the same time 12:34.

Edit: To also go through subdirectories, change the for loops as followed:

 for i in `find . -type f -name "IMG_*..jpg"` do  j=`basename $i`   echo $j  touch -t ${j:4:8}${j:13:4} $i   done  

Explanation:

find . -type f -name ".mp5"`: find files ( -type t) whose names contains " IMG_.jpg" ( -name "IMG_*.jpg") in the current directory ( . ) and subdirectories.

j= basename $i : Get the filename (not the entire path), and assign it to j.

touch -t ${j:4:8}${j:13:4} $i : Change the file's modification time based on the date and time retrieved from ${j:4:8}${j:13:4} .

 
 
       
       

関連する質問

9  SDカードのスワップパーティションのパス名を見つける方法は?  ( How to find the pathname of the swap partition on sd card ) 
real="nonofollownoreferrer">この< / A>警告、あなたは間違ったパーティションをスワップを有効にしないでください、またはあなたの電話を破壊することができます: それ以上進む前にOK!前の電話機のパーティションレイアウトは、M...

3  マウント暗号化エミュレートAVD USERDATA-QEMU.IMG.QCOW2  ( Mount encrypted emulated avd userdata qemu img qcow2 ) 
私は私のAVDのバックアップをしようとしています。物事をスピードアップするために、私は増分バックアップを作るのが好きです。 <コード> *.img.qcow2 ファイルのバックアップは非効率的です。仮想ブロックデバイスに存在するファイルシステムをマウントしてか...

30  Android内部パーティションテーブルを表示する方法  ( How can i view the android internal partition table ) 
私は私のデバイスを根ざして、リカバリモードに置き、それをリカバリモードにして、それをPCにリンクし、 adb shell < / a>。 ストレージデバイスとパーティションのリストを表示する方法は? 注: <コード> fdisk は機能しません。 ...

2  置き換えられた/ system / bin / toolbox。どうやってそれを元に戻すのですか?  ( Replaced system bin toolbox how to i revert that ) 
オリジナル/ system / bin / toolboxの名前を "Toolbox_alt"に名前を付けました。 私はファイル/ system / bin / toolboxを作業することになっていたファイルと一緒に置き換えましたが、まったく機能しません。 ...

0  build.propは大丈夫です。システムでの更新は更新されません(図中のタブレットについて)  ( Build prop modifies okay but not updates in system e g about tablet in settin ) 
VirtualBoxでAndroid-x86 4.4を実行しています。すべてがうまく機能します。 しかし、私が他の製造業者またはモデルを使ってbuild.prop(ESファイルエクスプローラまたはビルドプロップエディタを使用して)変更しているとき。再起動後は...

7  Android上の削除されたファイルを削除したり回復したりするにはどうすればよいですか。 [重複]  ( How do i undelete or recover deleted files on android ) 
この質問はすでにここで回答を持っています 閉じた 9年前>。 可能な重複: Android上で削除されたファイルを回復する方法は? 標準USBストレージ回復ツールを使用せずにAndroid携帯電話で削除されたファイルを回復す...

0  私のNexusデバイスを知る方法はファイル暗号化されていますか?  ( How to know my nexus device is file encrypted ) 
Android Nファイル暗号化と呼ばれる新機能がサポートされています。 デバイスがファイル暗号化されているかどうかを識別する方法 Touchを使用して内部/データ間の新しいファイルを作成した場合。 LS -Lを実行すると、そのファイルが表示されます。 フ...

0  誤ってrootファイルからシステムフォルダを削除し、My Mobileが私のモバイルでは根ざしていませんでした。  ( By mistake i deleted system folder from root file and my mobile was rooted from ) 
誤ってrootファイルからシステムフォルダを削除し、My Mobileが根ざしていました。 USB Debbugはflahファイルのオフのファイルが見つかりません "Reach Congent Colors" Plzzzが私を助けて........ ...

2  Galaxy S3によるSDカードに使用されるファイルシステムフォーマット  ( Filesystem format used for sd card by galaxy s3 ) 
私のギャラクシーS3によってフォーマットされたSDカードを削除してMacBookに入れると、<コード> 99887766544330 は、その唯一のパーティションをパーティションIDを持つものとして表示します。 FAT32 LBAパーティションであることを示し...

0  Androidのデフォルトのキープレスサウンドを変更する方法  ( How to change androids default key press sound ) 
電話機を根付いている、ファイル/ sを変更しようとしました。 <事前> <コード> 9988776655443331 とその許可; <事前> <コード> 9988776655443332 でもデフォルトを再生します。電話を再起動することは機能しません。私...

2  ファイルシステム内のIPアドレスを見つける場所(例えば、PROCまたはSYS)  ( Where to find ip address in file system e g proc or sys ) 
Androidのファイルシステム内のインターフェイスのIP(V4)アドレスを取得する方法はありますか? ifconfigまたはnetcfgを使うことができるが、私はファイルにアクセスできる監視ツールを使用し、実行コマンドを実行することができます。 ...

4  FSTRIMが実行されるべきですか?  ( When should fstrim run ) 
これに基づいて cyanogenmodフォーラムスレッド、試してみました実行中のアプリケーションの遅延に対処し、FSTRIMを手動で実行することで、CyanogenModを駆使してCyanogenModを実行しているMy Galaxy Nexusのアプリケーシ...

9  Androidには2.1GBのファイルサイズの制限がありますか?  ( Does android have a 2 1gb file size limit ) 
私は多くの音声録音型のアプリケーションを試してみましたが、私が見つけたベストは私が最大ファイルサイズ2.1GBまでの録音をすることを許可しています。私はかなり大きなSDカードを持っているので、私はこれら2.1GBの録音の多くをすることができます。 私が試したア...

3  ウイルスを含む不明なファイルタイプ  ( Unknown file type containing a virus ) 
私はできるだけ短いように話をしようとしますので、私の懸念が何であるかについてより明確な見方をすることができます。私はChromeブラウザアプリを使って私の電話でインターネットを閲覧していましたが、私はファイルをダウンロードしているという通知を得ました。通知は、...

5  エラーのファイルシステム(/ SDCARD)をチェックする方法  ( How to check filesystem sdcard for errors ) 
ファイルシステムレベルのエラーについては、/ SDCARD、およびおそらく他の内部パーティションも確認します。 私はこれがどのように達成され得るのか疑問に思います。 Verizon Wirelessのサムスンギャラクシーネクサス(トロ)を使用しています。 ...




© 2021 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有


Licensed under cc by-sa 3.0 with attribution required.