Opgelost MS-DOS md huidige datum Y M D en uur

  • Onderwerp starter Onderwerp starter Senso
  • Startdatum Startdatum
Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

Senso

Inventaris
Lid geworden
13 jun 2016
Berichten
11.196
Besturingssysteem
W10 Pro en W11 Pro
Office versie
Office 2007 H&S en Office 2021 Prof Plus
MS-DOS md huidige datum Y M D uur, minuten
Ik zou graag een map aanmaken met de naam:
2024-06-04_H-M (01-24) = uur (24h) > resultaat 2014-06-04_08-01 (1 minuut over acht)
PHP:
@Echo off
Echo Maak een folder met de huidige datum,  uur en minuten (24H)
for /f %%i in ('powershell "Get-Date -uformat '%%Y%%m%%d'"') do (
    set "Today=%%i"
)
set "Today=%Today:~0,4%-%Today:~4,2%-%Today:~6,2%"
md "E:\INDEX\INFO\%Today%_"
 
Code:
md %date:~-4,4%"-"%date:~-7,2%"-"%date:~-10,2%"_"%time:~-0,2%"-"%time:~-8,2%
 
Kun je ook een volledige batch file maken (ook getest) dat werkt. Zo ben ik uren bezig en het lukt niet. Jouw regel maakt een map met de naam 6 en de rest in submappen.

PHP:
md "E:INDEX\INFO\date:~-4,4%"-"%date:~-7,2%"-"%date:~-10,2%"_"%time:~-0,2%"-"%time:~-8,2%_"
 
Je moet dat begin wel correct ingeven:
PHP:
md "E:\INDEX\INFO\"%date:~-4,4%"-"%date:~-7,2%"-"%date:~-10,2%"_"%time:~-0,2%"-"%time:~-8,2%"
 
Laatst bewerkt:
Werkt niet! Syntax is incorrect.

PHP:
md "E:\INDEX\INFO\"%date:~-4,4%"-"%date:~-7,2%"-"%date:~-10,2%"_"%time:~-0,2%"-"%time:~-8,2%"
Blijft submappen aanmaken.
 
Er was inderdaad een \ weg gevallen.
 
Zet dit eens in test.cmd en start test.cmd
Code:
@ECH OFF
IF NOT EXIST E:\INDEX\INFO GOTO FOUT
md "E:\INDEX\INFO\"%date:~-4,4%"-"%date:~-7,2%"-"%date:~-10,2%"_"%time:~-0,2%"-"%time:~-8,2%
Pause
GOTO EINDE
:FOUT
Echo Map E:\INDEX\INFO niet gevonden.
Pause
:EINDE
 
Wel even een O achter ECH zetten ;)
 
Oeps, excuus, scherp opgemerkt, op het laatst toegevoegd en daarna niet meer getest.🥵
Het was niet bedoeld om Senso nog verder in de problemen te brengen...
 
Ja, dat was juist mooi, want dan kun je zien waar het fout gaat.

E:\INDEX\INFO>md "E:\INDEX\INFO\"6/24"-"4/"-"04"_"14"-"50
The syntax of the command is incorrect.
Daar gaat het dus fout. / daardoor krijg je submappen.
 
Die staan dan ook niet in het voorbeeld.
 
Heb je zelf de regel getest ja of nee? Ik zeg dat er met deze regel submappen worden aangemaakt. De uitgevoerde regel zie je zoals in post 10 in het promptvenster. Dat is het gevolg van de door jullie gegeven regel en dat doe ik niet zelf.
 
@Senso De syntax hangt af van hoe op jouw PC de datum-tijd instellingen zijn.
Je kan onder andere een kort of lang datumformaat instellen, waarbij je meer of minder tekens in de variabele %date% krijgt.
Ik vermoed dat je de korte datum instelling hebt of een andere volgorde van jaar, maand en dag.
Vandaar dat er slashes e.d. meegenomen worden in jouw geval.
Kijk eens welk datumformaat %date% weergeeft in je cmd venster. Op die manier kan je zelf de opsplitsing maken.
echo "%date%"
 
Als ik %date% opvraag geeft mijn PC di 04/06/2024
Wil ik daarvan gebruik maken om de map te laten aanmaken met de naamgeving die jij wil, dan moet ik dit commando gebruiken in de batch file (.bat of .cmd)
Code:
md %date:~9,4%-%date:~6,2%-%date:~3,2%_%time:~0,2%-%time:~3,2%
Let op! de posities van de tekens begint vanaf nul, niet vanaf één.
dus in mijn geval staat de d van di op positie nul.
 
echo "%date% geeft "04/06/24"

Kun je dan niet voortborduren/iets maken op/met de inhoud van Post 1 met Powershell?
 
Powershell is niet hetzelfde als MSDOS.
Moet het persé in Powershell? is er al bestaande code in Powershell die je wil uitbreiden?
Anders kan je gewoon mijn code aanpassen. Let wel op dat jij geen eeuwgetallen in de datum hebt, dus die zal je er zelf moeten aan toevoegen
Code:
md 20%date:~6,2%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%
of het jaartal met twee cijfers gebruiken.
Code:
md %date:~6,2%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%
of als dat mag de instellingen van de datum in Windows aanpassen zodat je de eeuwgetallen wel hebt.
 
PHP:
md E:\INDEX\INFO\%date:~9,4%20%date:~6,2%-%date:~3,2%-%date:~7,4%_%time:~0,2%-%time:~3,2%

Ik heb nu bovenstaande en die geeft weer 2024-06-4_16-56
Is de dag nog te wijzigen in 04? Dan is het goed.
 
Ja, in post 17 staat de juiste oplossing. Zeer bedankt voor het werk en de inzet.
Really TheGreat! 👍
 
@edmoor e.a. ter info
Even terzijde. De versie Everything 1.5a heeft heel veel nieuwe functies e.d.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan