Buggfix Plus
Aktuellt datum och tid: 06.25 2020-04-02

Alla tidsangivelser är UTC + 1 timme




Svara på tråd  [ 16 inlägg ]  Gå till sida 1, 2  Nästa
Författare Meddelande
InläggPostat: 06.16 2019-11-06 
Användarvisningsbild

Blev medlem: 20.23 2005-08-06
Inlägg: 24951
Ort: Oskarshamn (En bit utanför)
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 04.51 2019-11-12, redigerad totalt 2 gånger.

Upp
 Profil  
 
InläggPostat: 06.24 2019-11-06 
Användarvisningsbild

Blev medlem: 17.06 2017-04-15
Inlägg: 1003
Ort: Malmö
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?


Upp
 Profil  
 
InläggPostat: 06.28 2019-11-06 
Användarvisningsbild

Blev medlem: 20.23 2005-08-06
Inlägg: 24951
Ort: Oskarshamn (En bit utanför)
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”.


Upp
 Profil  
 
InläggPostat: 07.50 2019-11-06 
EF Sponsor

Blev medlem: 11.54 2014-05-26
Inlägg: 698
Ort: Karlskoga
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_the_FAT_file_system


Upp
 Profil  
 
InläggPostat: 08.31 2019-11-06 
Användarvisningsbild

Blev medlem: 21.16 2009-02-22
Inlägg: 18744
Ort: Säter
JimmyAndersson skrev:
Senast testade jag dir /s /t:ca
Jag får bara invalid switch när jag provar detta.


Upp
 Profil  
 
InläggPostat: 13.12 2019-11-06 
Användarvisningsbild

Blev medlem: 06.56 2009-03-28
Inlägg: 8365
Ort: Göteborg
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


Upp
 Profil  
 
InläggPostat: 13.48 2019-11-06 
EF Sponsor
Användarvisningsbild

Blev medlem: 21.14 2006-07-31
Inlägg: 952
Ort: Österlen, Skåne
Testa med:
dir /?


Upp
 Profil  
 
InläggPostat: 13.54 2019-11-06 

Blev medlem: 14.35 2005-02-03
Inlägg: 1171
Ort: Stockholm
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: [Expandera/Minimera] [Hämta] (Untitled.txt)
  1. 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.


Upp
 Profil  
 
InläggPostat: 20.59 2019-11-06 

Blev medlem: 13.28 2006-09-23
Inlägg: 9545
Ort: Södertälje
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)


Upp
 Profil  
 
InläggPostat: 04.35 2019-11-12 
Användarvisningsbild

Blev medlem: 20.23 2005-08-06
Inlägg: 24951
Ort: Oskarshamn (En bit utanför)
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.


Upp
 Profil  
 
InläggPostat: 06.16 2019-11-12 
Användarvisningsbild

Blev medlem: 17.06 2017-04-15
Inlägg: 1003
Ort: Malmö
Kommandot du letar efter är robocopy, det har en switch för att bevara tidsstämpeln på filen.


Upp
 Profil  
 
InläggPostat: 10.36 2019-11-12 

Blev medlem: 14.35 2005-02-03
Inlägg: 1171
Ort: Stockholm
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: [Expandera/Minimera] [Hämta] (Untitled.txt)
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)


Upp
 Profil  
 
InläggPostat: 12.18 2019-11-12 

Blev medlem: 10.02 2009-05-08
Inlägg: 805
Ort: Lund
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).


Upp
 Profil  
 
InläggPostat: 15.13 2019-11-12 

Blev medlem: 08.04 2012-06-19
Inlägg: 647
Ort: Lund
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'.


Upp
 Profil  
 
InläggPostat: 19.56 2019-11-12 

Blev medlem: 13.28 2006-09-23
Inlägg: 9545
Ort: Södertälje
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.


Upp
 Profil  
 
Visa inlägg nyare än:  Sortera efter  
Svara på tråd  [ 16 inlägg ]  Gå till sida 1, 2  Nästa

Alla tidsangivelser är UTC + 1 timme


Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 3 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
   
Drivs av phpBB® Forum Software © phpBB Group
Swedish translation by Peetra & phpBB Sweden © 2006-2010