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):
-
touch -a -tCCYYMMDDHH.SS <file>
-
touch -m -tCCYYMMDDHH.SS <file>
-
SetFile -d "MM/DD/CCYY HH:MM:SS" <file>
- [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?
Nyissa meg a Terminal alkalmazást (
/Applications/Utilities/Terminal.app
), vagy ha inkább az iTerm-et használja.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
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
ésmodified
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). ASetFile -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:
- Válogatott keresőelemek beolvasása
- 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.