Hvordan opretter jeg en mappe med systemdatoen i vinduesskalens batch script

Indlæg af Hanne Mølgaard Plasc

Problem



Bemærk: spørgsmål vedrørende Windows shell


Jeg vil skrive et simpelt batch script til at oprette et mappenavn, hvis det ikke findes med systemdatoen som navnet på mappen.


Nuværende systemdato:


$ date /t
Sat 09/10/2011


Jeg vil gerne have mappenavnet oprettet i formatet dd-mm-yy og i C: \ dir
10-09-11


Først prøvede jeg i henhold til dette (Link til microsoft doc for date) [6]


$ date dd-mm-yy /t


Dette skulle give mig datoen i det format, jeg ønskede, men i stedet returnerede det lige det samme format som ovenfor.


At gøre diret jeg forsøgte


$ mkdir "\%date dd-mm-yy /t\%"


og mange sådanne variationer uden succes.


Jeg vil bare oprette et mappenavn med systemdatoen i formatet dd-mm-yy. Det ville være godt, hvis jeg kan få mappenavnet i en variabel som jeg skal bruge den til at kopiere filer til denne mappe senere i batchet manuskript


Kan nogen hjælpe mig ud?

Bedste reference


Jeg havde engang samme problem. Windows shell er så svag :(
Min løsning var at bruge substring.


set X=\%DATE\%
mkdir \%X:~3,2\%-\%X:~,2\%-\%X:~8,2\%


Bemærk: DATO-streng er i sprogspecifik format, som kun kan ændres i den regionale indstilling på kontrolpanelet. Så substringsparameteren må muligvis være tweaked. For eksempel fik jeg 2011/09/10 til japansk sprog.


REM for Japanese language setting
mkdir \%X:~8,2\%-\%X:~5,2\%-\%X:~2,2\%

Andre referencer 1


Detaljer om hvordan man får datoen (platform uafhængig) i et givet format kan findes her: Sådan får du den aktuelle datetime på Windows kommandolinje i et passende format til brug i et filnavn?