WinXP-DOS: dir med ”skapat” och ”senast skriven” datum ?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

WinXP-DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av JimmyAndersson »

Jag har testat allt möjligt och googlat, men ännu ingen framgång.

Senast testade jag dir /s /t:ca
Och dir /s /t:c /t:a
Men det gav bara ena datumet, och klockslaget ”00:00” som är helt fel.


Så...
Hur gör man? :shock:

Jag håller på att bli dumihuvigare... :wall:
Sånt här kunde man ju i sömnen förr.


(Snälla, fråga inte ”vad vill du göra”, för det står i rubriken. Förklaringen kan inte bli lättare.
Förstår du inte, så kan du inte svaret.)


edit:
Lade till "WinXP-" först i rubriken.
Senast redigerad av JimmyAndersson 12 november 2019, 04:51:00, redigerad totalt 2 gånger.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 3746
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av Mickecarlsson »

Kör du DOS? Dvs, kör du ”ren” DOS eller ett DOS-fönster i ett annat OS?
Kör du DOS mot FAT, FAT32 eller NTFS?
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av JimmyAndersson »

Jag kör DOS-fönster i Windows XP.
FAT32.

Bra att du frågade. Missade det.
17 vad snabb du är. Så här dags tillochmed. :)


För att vara lite tydligare:
Jag sitter vid en dator med WinXP och har öppnat ett dos-fönster med Kör->”cmd”.
kodar-holger
EF Sponsor
Inlägg: 916
Blev medlem: 26 maj 2014, 12:54:35
Ort: Karlskoga

Re: DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av kodar-holger »

Fat-volymer håller bara ett datum för varje directory entry. Du kommer inte att kunna få båda datumen oavsett vad du skriver.

https://en.wikipedia.org/wiki/Design_of ... ile_system
Användarvisningsbild
säter
Inlägg: 32514
Blev medlem: 22 februari 2009, 21:16:35
Ort: Säter

Re: DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av säter »

JimmyAndersson skrev:Senast testade jag dir /s /t:ca
Jag får bara invalid switch när jag provar detta.
Användarvisningsbild
swesysmgr
Inlägg: 14127
Blev medlem: 28 mars 2009, 06:56:43
Ort: Göteborg

Re: DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av swesysmgr »

Du kör äkta DOS, där finns inte samma flaggor. JimmyAndersson kör Windows kommandoskal vilket är byggt för att se ut som dos så att .bat filer skall gå att återanvända och användarna känner sig hemma men egentligen är ett helt annat program.

http://www.vfrazee.com/ms-dos/6.22/help/dir.htm
persika
EF Sponsor
Inlägg: 1336
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av persika »

Testa med:
dir /?
Maalobs
Inlägg: 1299
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av Maalobs »

Det kryper i skinnet på mig när folk kallar kommandotolken i 32- och 64-bit Windows för "DOS". :sick:
Det är inte DOS.
Det är kommandotolken till Windows, för dem som vill få saker gjort. :hacker:

I 32-bit Windows finns DOS också, för där stöds thunking ner till 16-bit, och i 16-bit subsystemet finns NTVDM som är NT Virtual DOS Machine, den kör MS-DOS 5.00 command.com i den inbyggda virtuella maskinen inne i Windows.
Här stöds inte långa filnamn, eftersom det är MS-DOS.
Startar du debug.com inne i den virtuella maskinen och tittar på vilka bas-adresser som är initialiserade med d 40:0 t ex, så kan du bli förvånad att se att du har hela 4 COM-portar och 3 LPT-portar.
Det är för att NTVDM emulerar full bestyckning.
I 64-bit Windows finns bara thunking ner till 32-bit, och 16-bit subsystemet ingår därmed inte längre.

I alla fall, dir stöder inte listning av flera samtidiga datumstämplar, varken i cmd.exe eller i MS-DOS.
Det går inte ens med ls, programmens output-format stöder inte flera datumkolumner helt enkelt.

Du måste scripta för att få det du vill, t ex i Powershell:

Kod: Markera allt

dir -File -Recurse | select FullName, CreationTime, LastWriteTime, LastAccessTime
För att se vilka tid-relaterade parametrar du har tillgängliga, skriv *time som parameter till select och tryck på tab för att tabba igenom alla som slutar på time i namnet, tabba baklänges med shift-tab.
I Powershell är dir ett alias för en cmdlet som heter Get-ChildItem.
xxargs
Inlägg: 10183
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av xxargs »

FAT är gammat filsystem och är av sin tid då det är en (förvisso förbättrad) hack av CP/M:s filsystem som i sin tur hade förebild från miljö från Digital Equipment (där 8.3 teckens formatet på filnamnen befästes och tog en massa år att göra sig av med, samtida Unixdatorer hade fler tecken i sina namn redan på den tiden - dock kanske bara typ 16 tkn eller så men gav större flexibilitet och mindre kryptiska i namngivningen samt gjorde skillnad på stora och små tecken vilket ökade filsnamnsrymden dubbelt upp ytterligare - man skall komma ihåg att diskutrymme var dyrt och värdefullt och ville inte ha outnyttjad luft i onödan i filsystems-metadatat)

Det som var tur var att man använde Unix förebild och filosofi med hierarkiska filsystem och filträd när man skapade FAT - tänk hur besvärligt det hade blivit med CP/M:s 'konton' (också förebild från digital...) och platta filträd om man som idag lätt har över hundratusen filer bara för OS idag.

Detta med datum och flera tidsstämplar (modifieringstid etc.) för olika aktiviteter var någon man försökte smyga till i efterhand med olika lösningar beroende på aktör (som novell, DRdos mfl. som byggde sina egna versioner av 'DOS') men de facto standard MS/PC-DOS och dess hjälpprogram hade ingen support att lista eller använda andra tidstämplar utöver den enda datum och tidsstämpeln som syntes med DIR. (man kunde senare med flaggor i config.sys få in tidstämplar för skapande och modifiering av fil i FAT - men om dessa kom med vid en kopiering till en diskett, det vet jag inte)
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: WinXP-DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av JimmyAndersson »

Kodar-holger:
"Fat-volymer håller bara ett datum för varje directory entry."

Ajdå. Då kan jag sluta försöka, med andra ord.


Persika:
"Testa med:
dir /?"


Det har jag gjort. Massor med gånger. Efter någon timma (ja, jag är envis) så startade jag tråden. :wink:


Maalobs:

"Det kryper i skinnet på mig när folk kallar kommandotolken i 32- och 64-bit Windows för "DOS". :sick:"

Förlåt. Jag glömde. :D
Jag har tappat en hel del av min gamla nördighet, men jag förstår hur du menar. :)
(Skulle även kunna skylla på att det inte hade fått plats i rubriken. ..och att jag var konsekvent med inlägget.)

Hm, debug.com finns inte i den här installationen, så det kan jag tyvärr inte kolla.

"i alla fall, dir stöder inte listning av flera samtidiga datumstämplar"

Ajdå.


Nu har jag glömt Powershell, men:
"dir -File -Recurse | select FullName, CreationTime, LastWriteTime, LastAccessTime"

..ger mig bara "select är inte ett internt kommando".. osv.



xxargs:
Det är kul när man tänker tillbaka sådär. Synd att man inte är ung längre. :mrgreen:
Men har du något förslag på lösning för att kunna hantera sånt?
(Jag skrev en kortare förklaring i slutet av inlägget.)

---


Jag tycker det är otroligt praktiskt att se när filer skapades, och när de senast ändrades.
I musikproduktion är de datumen otroligt viktiga.

Så när jag skulle kopiera 21,8GB data (2010 filer) till en linux-server och datumen inte följde med
så blev backup-lösningen att göra en textfil (från dos) som innehöll datumen. Men nu förstår jag att det inte går.


Men på något sätt måste man väl för 17 kunna kopiera filer från Windows till något annat system (t.ex Linux) och få med datumen ???
Eller har ni något annat tips för att lösa detta?
Linux förespråkas ju så ofta för dess förträfflighet, men med en så simpel sak som datum, nä där går det bet.


(Versionshanteringsystem är väl en trevlig teoretisk tanke, men så länge det inte gäller rena textfiler (utan t.ex wav-filer) så kan inte sådana system veta *vad* som är ändrat och kunna hantera skillnaderna på ett användbart sätt.. Så detta skulle väl i såfall bara vara för att få med datumen - om nu dessa system *kan* det vill säga.)


--------------
En bonus:
För de som bara läser rubriken och sista meningen:

Jag vill att en person utan förkunskaper ska kunna kopiera filer från Windows (XP/7/10) till annat lagringsmedium (inkl. Linux-server)
och att datumen "Skapat" och "Senast ändrat" ska förbli oförändrade hos målmiljön.

tips?
Det kan knappast vara så att detta är omöjligt.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 3746
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: WinXP-DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av Mickecarlsson »

Kommandot du letar efter är robocopy, det har en switch för att bevara tidsstämpeln på filen.
Maalobs
Inlägg: 1299
Blev medlem: 3 februari 2005, 14:35:15
Ort: Stockholm

Re: WinXP-DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av Maalobs »

JimmyAndersson skrev:Hm, debug.com finns inte i den här installationen, så det kan jag tyvärr inte kolla.
Krångla inte till det, bara skriv debug i en kommandotolk, du behöver inte ens starta command.com, startar du ett 16-bit program så startas NTVDM automatiskt och programmet körs inuti den, även om du gör det i en cmd.exe prompt. :)
Det är visst debug.exe, det var en com-fil när jag först började med MS-DOS.
JimmyAndersson skrev:Nu har jag glömt Powershell, men:
"dir -File -Recurse | select FullName, CreationTime, LastWriteTime, LastAccessTime"

..ger mig bara "select är inte ett internt kommando".. osv.
För att du ska köra Powershell-script inuti Powershell?
Det finns att installera på Windows XP.
JimmyAndersson skrev:Men på något sätt måste man väl för 17 kunna kopiera filer från Windows till något annat system (t.ex Linux) och få med datumen ???
Eller har ni något annat tips för att lösa detta?
Om jag skulle försöka mig på att överföra ctime+mtime mellan olika typer av operativsystem så skulle jag kolla upp backupformat som är cross platform, och hoppas på det bästa gällande i vilken upplösning som tidsstämplarna kan lagras på de olika systemen.
Om du hittar en Win32 native version av tar som är aktuell, så kan du använda det (vet inte vad den här gör, det är bsdtar 3.3.2).
Från artikeln om tar:

Kod: Markera allt

The following enhancement tags are defined by the POSIX standard:
    all three time stamps of a file in arbitrary resolution (most implementations use nanosecond granularity)
Packa ner mappstrukturen på källsystemet, packa upp på målsystemet.
Om du hade använt Windows 10 så hade du kunnat göra allt i native Linux, via WSL.

Som sagt, det här är bortkastat om målsystemet har ett FAT-baserat filsystem, det finns inte utrymme där för det extra metadatat, dessutom är det lägre upplösning på tiden så den tidsstämpel som hamnar i filsystemet blir avrundat och matchar inte längre exakt den tid som källfilen hade.
Det kanske är ett problem om du vill hitta senaste versionen av filer mellan systemen.
Last access time har man dessutom stängt av by default i moderna Windows av prestandaskäl, men just den är ju inte intressant för dig.
Mickecarlsson skrev:Kommandot du letar efter är robocopy, det har en switch för att bevara tidsstämpeln på filen.
Ja, lokalt på samma OS är det ju ett icke-problem. 8)
snigelen
Inlägg: 815
Blev medlem: 8 maj 2009, 11:02:14
Ort: Lund

Re: WinXP-DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av snigelen »

JimmyAndersson skrev:Linux förespråkas ju så ofta för dess förträfflighet, men med en så simpel sak som datum, nä där går det bet.
Naturligtvis kan Linux hantera datum korrekt, bara du ber snällt (t.ex. cp -p).
guckrum
Inlägg: 1671
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: WinXP-DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av guckrum »

Bättre att alltid kopiera med 'rsync'. Förslagsvis 'rsync -avPHS'. rsync finns överallt där det spelar roll, hanterar kopiering över ssh, jobbar med checksummor, gör move-in-place osv mm.

Har du fel datum på dina filer kan du fixa det med 'touch'.
xxargs
Inlägg: 10183
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: WinXP-DOS: dir med ”skapat” och ”senast skriven” datum ?

Inlägg av xxargs »

TAR och rsync (och även borg-backup) bör behålla tidsstämplar om de levereras till programmet som det skall via standard filhanterare/api - men frågan är hur det behålls när det kommer från FAT-media och anropas via DOS-rutiner då original FAT hade bara en enda tidsstämpel i orginal och tillägg med fler tidsstämplar kom senare (dessutom olika lösningar under en tid då Novell och DRdos hade sina egna lösningar) och troligen kräver utökad program/skal för att de skall extraheras på rätt sätt - DOS egna 'DIR' hanterar inte mer än en tidsstämpel och beror på att använda API helt enkelt inte ger mer info utan kräver special-API som kom först senare.

Den typen av lirkande ingår normalt inte i portade program från tex. unix-världen utan kräver program/copy som känner till reglerna hur den övriga metadata skall tas med från FAT. med andra ord MS-specifika program eller program skrivna specifikt för DOS/Windows.

En väg att prova är som redan nämnt robocopy (som är dos/windows-specifikt skrivet) till ett filsystem som hanterar multipla tidsstämplar som NTFS och sedan därifrån lägga det i önskad förvaringsform.

Har det väl landat i en Unix-kompatibelt filsystem (som NTFS faktiskt är, även om det är en emuleringslager till den egentliga NTFS-filsystemet) och man fått ut de olika tidsstämplarna så bör inte den vidare hanteringen med cp, tar, rsync etc. vara ett problem i att få med alla tidsstämplarna - det är att få ur dessa i första steget ur en FAT-system som är den knöliga biten.
Skriv svar