Zmena atributu datum a cas podle nazvu souboru

Moderated forum for Slovak and Czech users

Moderators: Hacker, Darkman_

Post Reply
fgci
Junior Member
Junior Member
Posts: 11
Joined: 2017-01-24, 07:06 UTC

Zmena atributu datum a cas podle nazvu souboru

Post by *fgci » 2018-04-18, 07:28 UTC

Ahoj, potřeboval bych u velkého množství (stovky souborů) hromadně změnit atributy souborů: datum a čas podle názvu souboru.
Například soubor:
20170710_151341.jpg......................24.08.2017 18:42:12
na soubor s atributy času
20170710_151341.jpg......................10.07.2017 15:13:41

Díky

User avatar
Stefan2
Power Member
Power Member
Posts: 2083
Joined: 2007-09-13, 22:20 UTC
Location: Europa

PowerShell: set timestamp from file name

Post by *Stefan2 » 2018-04-18, 08:00 UTC

Spusťte PowerShell ve složce se soubory a spusťte tento skript PoSh:


GCI|%{ $BN=$($_.BaseName -replace "_",""); $TS=[DateTime]::ParseExact($BN, 'yyyyMMddHHmmss', $null);$_.CreationTime=$TS; $_.LastWriteTime=$TS;$_.LastAccessTime=$TS }

jeden dlouhý řádek








Opět, další podrobnosti:

Code: Select all

Get-ChildItem | 
ForEach-Object{ 
     $BN=$($_.BaseName -replace "_",""); 
     $TS=[DateTime]::ParseExact($BN, 'yyyyMMddHHmmss', $null);  
     $_.CreationTime=$TS; 
     $_.LastWriteTime=$TS;
     $_.LastAccessTime=$TS 
}




 

fgci
Junior Member
Junior Member
Posts: 11
Joined: 2017-01-24, 07:06 UTC

Post by *fgci » 2018-04-18, 08:48 UTC

Uf, chvíli jsem bojoval s PowerShellem, ale podařilo se.
Díky moc.

fgci
Junior Member
Junior Member
Posts: 11
Joined: 2017-01-24, 07:06 UTC

Post by *fgci » 2018-04-18, 09:39 UTC

Ještě jsem zjistil jiné varianty názvu souborů, které jsou delší a z nich to neumí zapsat atributy.
Dal by se skript upravit pro tyto delší názvy?
např.:
20170701_001610_001~2
20170709_215542(0)
20170709_223256_001

Děkuji

User avatar
Stefan2
Power Member
Power Member
Posts: 2083
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 » 2018-04-18, 10:10 UTC

Časová značka z názvů souborů, například:

20170710_151341.jpg
20170824_184212.jpg
20170701_001610_001 ~ 2.jpg
20170709_215542 (0).jpg
20170709_223256_001.jpg
(Název souboru začíná časovou značkou)



Snaž se:

GCI|%{ $BN=$($_.BaseName.Substring(0,15) -replace "_",""); $TS=[DateTime]::ParseExact($BN, 'yyyyMMddHHmmss', $null);$_.CreationTime=$TS; $_.LastWriteTime=$TS;$_.LastAccessTime=$TS }

--- jeden dlouhý řádek ---




 

fgci
Junior Member
Junior Member
Posts: 11
Joined: 2017-01-24, 07:06 UTC

Post by *fgci » 2018-04-18, 10:50 UTC

To je ono, ještě jednou děkuji

User avatar
Hacker
Moderator
Moderator
Posts: 10999
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker » 2018-04-18, 14:11 UTC

fgci,
Například soubor:
20170710_151341.jpg......................24.08.2017 18:42:12
na soubor s atributy času
20170710_151341.jpg......................10.07.2017 15:13:41
Oznacit subory, potom:
Files - Change Attributes - Change Plugin attributes:
tc - writedate - [=tc.name:7-8].[=tc.name:5-6].[=tc.name:1-4] [=tc.name:10-11]:[=tc.name:12-13]:[=tc.name:14-15]

HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

fgci
Junior Member
Junior Member
Posts: 11
Joined: 2017-01-24, 07:06 UTC

Post by *fgci » 2018-04-19, 06:28 UTC

Hacker wrote:tc - writedate - [=tc.name:7-8].[=tc.name:5-6].[=tc.name:1-4] [=tc.name:10-11]:[=tc.name:12-13]:[=tc.name:14-15]
 
Díky moc, takhle jsem původně myslel, že to nějak musí jít v TC.:)
I jsem to zkoušel přes Change Plugin attributes:, ale nepodařilo se mi vytvořit správnou hodnotu zápisu.
Ani vlastně teď, když vyberu v Property: writedate, tak v Choose plugin property mám výběr jen z :
creationdate
writedate
accessdate

ale není ve vlastnostech výběr name:(

User avatar
Stefan2
Power Member
Power Member
Posts: 2083
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 » 2018-04-19, 06:55 UTC

>>ale není ve vlastnostech výber name

Plugin pracuje s dříve vybranými soubory.





(A pro obecné informace: divize "tc.name" musí mít za následek platnou razítko v každé zemi)





 

fgci
Junior Member
Junior Member
Posts: 11
Joined: 2017-01-24, 07:06 UTC

Post by *fgci » 2018-04-19, 08:26 UTC

Stefan2 wrote: Plugin pracuje s dříve vybranými soubory.
 
Mám to takto:
Image: https://postimg.cc/image/9rnqva2pn/

User avatar
Stefan2
Power Member
Power Member
Posts: 2083
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 » 2018-04-19, 09:29 UTC

1.) "tc.creationdate" provides the current CreationDate time stamp.
Use Hackers' example ([=tc.name:7-8].) instead to build the wanted time stamp from parts of the file name.

2.) Check "[√] Change plugin attributes" too.





 

User avatar
Hacker
Moderator
Moderator
Posts: 10999
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker » 2018-04-19, 09:41 UTC

fgci,
není ve vlastnostech výběr name
Nie je, musis to tam napisat rucne.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.

fgci
Junior Member
Junior Member
Posts: 11
Joined: 2017-01-24, 07:06 UTC

Post by *fgci » 2018-04-19, 10:39 UTC

Hacker wrote: Nie je, musis to tam napisat rucne.
Aha :)

Post Reply