Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Změna datumu adresáře dle souborů uvnitř

Dobrý den
Mám záznamy z kamer a nějak se mi změnily datumy vytvoření u složek. Potřeboval bych nějaký skript, bat soubor který by dle souborů uvnitř složky změnil datum adresáře v kterém je umístěn. V každém adresáři jsou soubory jen z toho dne. Mohl by mi někdo pomoci?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Záznamy se ukládají do složky HIKVISION - DS-2DE2A204IW-DE3 a v něm je v současné době 1867 adresářů…
damirek 13.01.2023 12:32
damirek
Takže se nezměnil datum složek, ale jejich název? Trochu rozdíl, nemyslíš?
Wikan 13.01.2023 12:38
Wikan
Ne ne to jsem uvedl jak se soubory ukládají. Já potřebuji přesně to co jsem psal, datum vytvoření ad…
damirek 13.01.2023 15:50
damirek
Tohle změní datum vytvoření všech podadresářů (podle jejich prvního souboru) ve adresáři, kde to spu…
Wikan 13.01.2023 16:04
Wikan
Ještě prosím jak to spustím zadal jsem příkaz CD\\synologynas\Media\Skouska\ čímž jsem se dostal do…
damirek 14.01.2023 12:30
damirek
Co znamená "a nic"?
Wikan 14.01.2023 12:33
Wikan
Vrátí mi to tento řetězec a nic to neudělá PS C:\Users\Mirek> cd \\synologynas\Media\Skouska\ PS Mic…
damirek 14.01.2023 19:00
damirek
Zkusil jsem to a datum to změnilo. Jsi si jistý, že chceš změnit datum vytvoření a ne třeba datum po…
Wikan 14.01.2023 19:13
Wikan
Tak to se omluvám soubory mám na nasu, přesto děkuji za ochotu. Mirek
damirek 14.01.2023 20:27
damirek
Asi by šlo něčo spustit v shellu toho NASu, ale Powershell tam asi nebude.
Wikan 14.01.2023 20:37
Wikan
Zkopíroval jsem část adresáře na lokální disk a to samé, neudělalo to nic. Možná dělám něco blbě. PS…
damirek 14.01.2023 21:41
damirek
A jak víš, že se nic nestane? Ono to nic nevypisuje, prostě to jenom změní datumy.
Wikan 14.01.2023 21:46
Wikan
Samozřejmě jsem v total comanderu kontroloval a je tam stále stejné datum. Ta velká sada příkazů (co…
damirek 14.01.2023 21:50
damirek
Nevidím tu od Wikana velkou sadu příkazů, tak jestli je to na mě, tak je to jen jeden dlouhý řádek,… nový
gilhad 14.01.2023 22:12
gilhad
proto jsem do toho svého příkladu pro Linux dal to echo - taky mám rád, když vidím, jestli se něco d…
gilhad 14.01.2023 21:53
gilhad
Datum vytvoření mi to píše dnes kdy jsem to kopíroval A sakra tak já potřebuji asi poslední úpravy.… nový
damirek 14.01.2023 22:08
damirek
Tak takhle: Get-ChildItem -Directory | ForEach-Object { $_.LastWriteTime = (Get-ChildItem -File $_)… nový
Wikan 14.01.2023 22:16
Wikan
To mi změnilo, ale na dnešní datum a ne dle souboru uvnitř nemůže být problém se jménem souboru vypa… nový
damirek 14.01.2023 22:24
damirek
A koukal ses na datumy těch souborů uvnítř? Nezměnily se ti tím kopírováním taky nějak? nový
gilhad 14.01.2023 22:26
gilhad
Změní to datum posledního zápisu podle data vytvoření souboru. Takže to možná chceš taky podle posle… nový
Wikan 14.01.2023 22:26
Wikan
Už jsem to zkusil a funguje, díky moc za trpělivost. Mirek poslední
damirek 14.01.2023 22:31
damirek

Záznamy se ukládají do složky HIKVISION - DS-2DE2A204IW-DE3 a v něm je v současné době 1867 adresářů pojmenovaných tímhle způsobem - 20230113PM (AM). V názvu složky je tedy datum.
Já potřebuji změnit všech těch 1867 adresářů.

Vrátí mi to tento řetězec a nic to neudělá
PS C:\Users\Mirek> cd \\synologynas\Media\Skouska\
PS Microsoft.PowerShell.Core\FileSystem::\\synologynas\Media\Skouska> Get-ChildItem -Directory | ForEach-Object { $_.CreationTime = (Get-ChildItem -File $_)[0].CreationTime }
PS Microsoft.PowerShell.Core\FileSystem::\\synologynas\Media\Skouska>

Zkusil jsem to a datum to změnilo. Jsi si jistý, že chceš změnit datum vytvoření a ne třeba datum poslední změny?
I když jak teď koukám, tak k tomu přistupuješ přes síť a nejspíš i k jinému filesystému a tam to zaručit nedokážu. To jsi měl ovšem uvést už v původním dotazu.

Zkopíroval jsem část adresáře na lokální disk a to samé, neudělalo to nic. Možná dělám něco blbě.
PS C:\Users\Mirek> cd e:\Skouska (dám enter)
PS E:\Skouska> Get-ChildItem -Directory | ForEach-Object { $_.CreationTime = (Get-ChildItem -File $_)[0].CreationTime } (vložím příkaz a dám enter)
PS E:\Skouska> (toto se vypíše a nic se nestane)

Nevidím tu od Wikana velkou sadu příkazů, tak jestli je to na mě, tak je to jen jeden dlouhý řádek, který copy-paste (abys neudělal překlep) vrazíš tomu NASu, když na něm budeš přihlášený a ve správném adresáři

Pokud mi bezmezně věříš, tak není potřeba nic víc, pokud nejsi tak naivní, nebo se chceš něco naučit, nebo udělat jinak, tak jsem to i rozebral
Například můžeš chtít laborovat s parametry touch (-a -m), nebo find (-depth a vyhodit sort, -maxdepth cosi) nebo vyhodit zbytečné echo, nebo tak podobně a časem to nějak změnit celé a použít na cosi zcela jiného (jo, je tam použito několik šikovných principů)

proto jsem do toho svého příkladu pro Linux dal to echo - taky mám rád, když vidím, jestli se něco děje, nebo to někde zatuhlo, zvlášť pokud má jít o 1867 adresářů :-)

(jako zase chápu, že mi to echo zpomaluje zpracování a odroluje obrazovku, takže u takovýchto jednorázovek jo, u něčeho, co spouštím furt a nejspíš i z cronu spíš ne)

Zpět do poradny Odpovědět na původní otázku Nahoru