2017-04-23 2 views
0

So versuche ich diese BAT zu erhalten einen Ordner mit Datum zu erstellen, ich habe um 5 verschiedene Varianten ausprobiert und alle von ihnen erstellt einen zusätzlichen Ordner, so weit die beste, die ich verwendet habe, istBat-Datei zum Erstellen eines Ordners mit dem Datum fügt nicht den Tag hinzu?

Aktuell was ich verwende (mein Code nicht, es wurde ein anderer Thread off)

REM Create a folder using the current date. If such a folder already 

exists, append a number to make it unique. 
@ECHO OFF 
for /F "tokens=2-5 delims=/ " %%i in ('date /t') do (
set Day=%%j 
set Month=%%i 
set Year=%%k 
) 

set Path=D:\share\Backup\Data %Year%-%Month%-%Day% 
set /a inx=2 

:LOOP 
IF NOT EXIST "%Path%" GOTO CREATE 
set Path=%~1\%Year%-%Month%-%Day% (%inx%) 
set /a inx+=1 
if %inx% gtr 9 goto :END REM Eh, giving up. 
goto LOOP 
:END 

:CREATE 
md "%Path%" 
:END 

Dies schafft dieses Verzeichnis: "D: \ share \ Backup \ Data -04-17", wie Sie es tut nicht sehen können, Wende den Tag an. Kann mir jemand helfen, dies zu ändern, damit der Tag funktioniert?

EDIT: Das Datum für das Beispiel sollte der 23. April 2017 oder 23-04-17

EDIT 2 sein: die Token geändert wie für die Arbeit BAT

REM Create a folder using the current date. If such a folder already exists, append a number to make it unique. 
@ECHO OFF 
for /F "tokens=1-5 delims=/ " %%i in ('date /t') do (
set Day=%%i 
set Month=%%j 
set Year=%%k 
) 

set DataPath=D:\share\Backup\Data %day%-%month%-%Year% 
set /a inx=1 

:LOOP 
IF NOT EXIST "%DataPath%" GOTO CREATE 
set DataPath=D:\share\Backup\Data %day%-%month%-%Year% (%inx%) 
set /a inx+=1 
if %inx% gtr 9 goto :END REM Eh, giving up. 
goto LOOP 
:END 

:CREATE 
md "%DataPath%" 
:END 

Antwort

1

Nr unten vorgeschlagen sehen , Herr. ‚Tis die Jahr, die als das Erstellungsdatum fehlt -month- idunno

Ohne zu wissen, was ist Ihr Datumsformat fehlt, Führung schwierig ist. Vielleicht kann das Ändern Ihres tokens helfen. Gegenwärtig wird Token 2 %%i, 3 bis %%j, 4 bis %%k zugewiesen. Itry mit tokens=1-5 und beobachten Sie, welche Elemente %%i .. %%m mit echo %%i+%%j+%%k+%%l+%%m zugeordnet werden, mit denen Sie die gewünschten Teile auswählen können.

path ist ein logcal aber sehr schlechte Wahl als Variablenname seit path eine reservierte Variable ist, die Fenster sagt, wo ausführbare Datei zu finden, die nicht im aktuellen Verzeichnis zu finden ist.

Verwandte Themen