私はこのBATに日付のあるフォルダを作成しようとしています。私は5種類の変種を試しましたが、それらのすべてが余分なフォルダを作成しました。これまでに使った中で最高のものがバットファイルに日付を含むフォルダを作成すると、その日は追加されませんか?
です。「D:\共有\バックアップ\データ-04-17」私が使用している何これは、このディレクトリを作成し
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
(未私のコードを、別のスレッドを、それを降りた)あなたが見ることができるようにはしていません日を適用する。誰かが私にこれを修正して、日がうまくいくよう助けてくれる?
EDIT:例えば日付は2017年4月23日または23-04-17
EDIT 2でなければなりません:提案されているようトークンを変更し、作業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