Kérem, tudassa velem, hogyan változtathatom meg a fájl létrehozásának dátumát a Lionban. Tudom, hogy létezik a touch-t parancs, de ez nem működik Oroszlánban. Pár ember megemlített egy másik módszert, de azt hiszem, hogy “kódoló” nyelven írták a megoldást, nem pedig laikus nyelvre – képes lenne-e valaki úgy válaszolni rá, hogy egy laikus végre tudja hajtani?

Nagyon köszönöm a segítséget.

Megjegyzések

  • A ” kódoló ” magyarázat, amelyről mások írtak, valószínűleg utalás a ” touch ” hivatkozásra. Te ‘ nek meg kell nyitniuk egy terminált, keresse meg azt a mappát, ahol a fájl található, majd az érintéses paranccsal módosítsa a fájl létrehozásának dátumát. id = “d9dc950dd1”>

li> FWIW A ” touch-t ” típussal állsz, de a h és a – között van szóköz. Ez ‘ s ” érintés -t “

Válasz

touch -t általában csak a módosítási és a hozzáférési időket változtatja meg. Csak akkor változtatja meg a létrehozási időt, ha a célidő az eredeti létrehozási idő előtt van.

touch -t 199912312359 file.txt touch -t $(date -jf %FT%T 1999-12-31T23:59:59 +%Y%m%d%H%M%S) file.txt 

SetFile -d mindig változik a létrehozás ideje.

SetFile -d "12/31/1999 23:59:59" file.txt SetFile -d "$(GetFileInfo -m test.txt)" file.txt 

A SetFile a parancssori eszközcsomag része, amely letölthető a fejlesztőtől .apple.com / downloads vagy az Xcode beállításaiból.

Megjegyzések

  • -m a módosítási idő megváltoztatásához.
  • A Yosemite alkalmazásban az érintéshez meg kellett adnom a +%Y%m%d%H%M.%S formátumot (vegye észre a pontot perc és másodperc között)
  • Írtam egy CpCreationDate itt: fish : SetFile -d (GetFileInfo -m $argv[1]) $argv[2]

Válasz

Mac OS X-ben négy különböző időbélyeg van társítva egy fájlhoz. Ezek az időbélyegek nem mindig frissülnek egymástól függetlenül, de lehet néhány egyénünk Ual vezérlés kis körültekintéssel és a touch, SetFile és chown használatával (vagy chmod). Ennek megtekintéséhez kísérletezzen, és hozzon létre egy új fájlt a parancssorból #:

# touch a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt 

az első felsorolt dátum az utolsó hozzáférési idő (atime), a második az utolsó módosítás ideje (mtime), a harmadik az utolsó állapotváltozás ( ctime), a negyedik a fájl létrehozásának ideje (születés, Btime), lásd: man lstat.

A hozzáférési idő (atime) megadott időre történő módosítása:

# touch -a -t201412312359.59 a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "May 19 00:11:14 2015" "May 19 00:11:46 2015" "May 19 00:11:14 2015" 4096 0 0 a.txt 

A módosítási idő (mtime) és a fájl létrehozásának ideje (Btime) megadott időre történő módosítása use:

# touch -m -t201312312359.59 a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 2013" 4096 0 0 a.txt 

Nyilvánvaló, hogy ez automatikusan frissíti az utolsó állapotváltozás idejét is (ctime) az aktuális rendszeridő!

Ha csak a létrehozás / születés idejét (Btime) szeretné módosítani egy adott időre, használja (mint pr a fentiek mások által):

# SetFile -d "12/31/1999 23:59:59" a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:12:19 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt 

Csak az utolsó állapotváltozás idejének (ctime) módosításához például a jelenlegi rendszeridő-használat:

# chown username a.txt # stat a.txt 16777218 5969798 -rw-r--r-- 1 username staff 0 0 "Dec 31 23:59:59 2014" "Dec 31 23:59:59 2013" "May 19 00:13:45 2015" "Dec 31 23:59:59 1999" 4096 0 0 a.txt 

ahol username a fájl tulajdonosa (a div id = “909cf1a5fe”>

vagyls -l). Ez nem változtatja meg a fájl tulajdonjogát, de hozzáfér a fájl inode-jához, és ezt rögzíti az utolsó állapotváltozás időpontjaként. Sajnos itt nem lehet az időt kifejezetten megadni, csak a számítógép idejének megváltoztatásával …

Összefoglalva: a négy időbélyeg független megváltoztatásához használhatja (ebben sorrend az utolsó 3-ra):

  1. touch -a -tCCYYMMDDHH.SS <file>
  2. touch -m -tCCYYMMDDHH.SS <file>
  3. SetFile -d "MM/DD/CCYY HH:MM:SS" <file>
  4. [a rendszer dátumának beállítása] chown username <file> [visszaáll a normál rendszerdátumra]

(Természetesen a rendszer dátumának alaphelyzetbe állítása nem jelent kockázatmentességet, figyelmeztetést kaptunk.)

Megjegyzések

  • +1 Köszönöm ezt a rendkívül részletes választ. Ez megoldotta az összes bajomat.
  • Néha olyan fotókat kapok, amelyeknek dátumai helytelenek, mert a GoPro-m alaphelyzetbe állítja önmagát. Ezeket a fényképeket átmásolom a Mac gépemre, és az utasításoknak megfelelően rögzítem a dátumot, de amikor ezeket a fényképeket az iPhone készülékemre helyezem, a dátum továbbra is hibás. Az egyetlen módot, amellyel ‘ megoldást találtam, az iOS EXIF szerkesztővel lehetséges. Van még egy rejtett dátum attribútum valahol?
  • @Bowen: Azok a dátumok, amelyekre a fényképen hivatkozol, maguk a fényképfájl-formátum adatai. A fent említett fájlok létrehozásának dátumát, módosítási dátumát stb. Az operációs rendszer fájlrendszere kezeli, azokat külön karbantartja és frissíti a fájlban található adatokkal.

Válasz

A touch parancssori parancs Lionban működik, de szüksége van egy kis háttérre a használja.

Először be kell írnia, nem olyan segédprogram, amely grafikusan működik egy ablakban. A beírt hely egy Terminal nevű alkalmazás. . Ezt megtalálhatja a Segédprogramok mappában, vagy a Spotlight kereséssel is megtalálja.

Miután elindította, kap egy parancssori ablakot, ahová beírhatja a parancsokat. Csak azért, mert gépel, nem ” Ez azt jelenti, hogy bármi köze van a kódoláshoz, de a “régimódi” operációs rendszerek parancsainak új ismerőinek ez kissé félelmetesnek tűnhet.

Tehát a parancsot érintés nek hívják, és a parancs után különféle paramétereket adhat át, az egyetlen szükségeset lévén a fájlnév. A következő beírásával a fájl utolsó módosított dátumát az aktuális időre állítja be:

touch filename 

Természetesen előfordulhat, hogy először meg kell találnia a fájlt, amely további parancsokat igényelnek az eléréséhez. A cd vagy a Könyvtár módosítása parancs itt segít:

cd ~/Desktop/files/PDFs touch filename 

Vagy egyszerűen hozzáadhatja a teljes a fájl elérési útja a parancs részeként:

touch ~/Desktop/files/PDFs/filename 

Az érintés parancs fejlettebb használata lehetővé teszi a beállítani kívánt idő megadását ahelyett, hogy használná a végrehajtás időpontja, a módosítási idők helyett állítsa be a hozzáférést stb. Ezt teszik az olyan paraméterek, mint a -t és mások. Vannak, akik az időt egy másik fájl idejének állítják be, vannak, akik azt állítják visszafelé vagy előre az időben X összeggel, ( itt talál további információkat ) , pl .:

touch -d "1 May 2005 10:22" file8 

A következő erről az oldalról , amely szintén hasznos hivatkozás, és egy nagyszerű példa néhány tippvel azok számára, akiknek nincs kedve a fájlok helyén a parancssorban.

Ne feledje, hogy ez csak akkor változtatja meg a módosított dátum és a létrehozás dátuma attribútumokat, ha a fájl a a beírt dátum. Ez azért van, mert egy fájlt nem lehet módosítani, mielőtt létrehozták. Ha a beállított dátum előtt készült, akkor csak a módosított dátum változik.

Hogyan lehet megváltoztatni egy fájl létrehozásának dátumát?

  1. Nyissa meg a Terminal alkalmazást (/Applications/Utilities/Terminal.app), vagy ha inkább az iTerm-et használja.

  2. Típus ezt a terminálba (az enter / return megütése nélkül) beillesztve a dátumot a következő formátumba: YYYYMMDDhhmm:

    touch -t 201212211111 
  3. Nyisson meg egy Finder ablakot, és keresse meg a módosítani kívánt fájlt, majd húzza át a Terminal ablakba, majd a parancssori terminológia segítségével beszúrja a fájl helyét. Itt van egy példa arra, hogy mit kell beírni a terminálba ezen a ponton:

    touch -t 201212211111 /Volumes/Mac\ HD/Pictures/somefile.jpg 

    201212211111 a fenti példában a „2012. december 21. 11:11

Megjegyzések

  • De touch a módosított dátumot módosítja, nem a fájl létrehozásának dátumát.
  • Mindkettőt megteheti. A paraméterektől függ.
  • A touch használata a fent megadott paraméterekkel megváltoztatta a tesztfájl módosítását, de nem a létrehozás dátumát.
  • @Daniel Valószínűleg megkapta a választ, de a teljesség kedvéért touch dologja az argumentumok függvényében módosítja a létrehozás dátumát. Ha olyan módosítási dátumot ad meg, amely a ‘ fájl létrehozásának dátuma előtt van, akkor a létrehozás dátuma automatikusan az új módosítási dátum értékére változik, mivel a fájl nem módosítható a létrehozása előtt .
  • Most próbáltam ki ezt a Sierrán, és megérintem határozottan nem változtatja meg a creation dátumot. access és modified dátumokat megváltoztathattam egy ” dátumra a múltban “, de ez nem módosította a létrehozás dátumát. Ellenőrizze, hogy a man oldal érinthető-e, nem említi a létrehozás dátumát. Fájlrendszer: Mac OS Extended (naplózott, titkosított). A SetFile -d "$(GetFileInfo -m test.txt)" file.txt használata tökéletesen működött.

Válasz

Tippeket ad itt , különösen az utolsó (Lauri Rantától, augusztus 21-én 15: 21-kor válaszolt). Perfekt!

Mostantól egy egyszerű Automator munkafolyamatot használok több fájl kötegelt megváltoztatásához:

  1. Válogatott keresőelemek beolvasása
  2. Shell Script futtatása, “Pass input” : argumentumként “

A shell szkript a következő:

for f in "$@" do SetFile -d "$(GetFileInfo -m "$f")" "$f" done 

Ez varázslatként működik.

Válasz

A legkönnyebben úgy találtam, hogy létrehoztam egy új mappát, átmásoltam a szürke színű mappa összes almappáját az új mappába, és voila, az új mappa nem lesz szürkés. Ezt akár a keresőben is megteheti.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük