2017-01-22 6 views
2

Stackoverflowには現在の日付をフォルダ名として使用する方法がいくつか質問されていますが、私は別のものを探しています。バッチファイルで階層構造の日付を作成する

今日の日付が1/22/2017であれば、私は3つのフォルダがあるようにしたい:

C:\2017 
└───1 
    └───22 

ディレクトリがC:\2017\1\22\のように見えます。

どうすればいいですか?

+0

実際に月(おそらく翌日)も1桁で構成されていますので、先行ゼロは不要ですか? – aschipfl

答えて

1

は、私はあなたの所望の塩基とbeginnするライン
Set "DailyPath=C:\Test\%yyyy%\%M%\%d%\"
を適応する必要がウィル 同様のセットアップ、とのバッチを持っています。

:: CDx.cmd :::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 
@echo off & SetLocal 
for /f "tokens=1delims=." %%A in (
    'wmic os get LocalDateTime^|findstr ^^[0-9]' 
    ) do Set _DT=%%A 
Set "yyyy=%_DT:~0,4%" 
Set /A "M=1%_DT:~4,2% -100" 
Set /A "d=1%_DT:~6,2% -100" 
Set "DailyPath=C:\Test\%yyyy%\%M%\%d%\" 
If not Exist "%DailyPath%" (Echo New %Dailypath%&md "%DailyPath%") 
Endlocal&Cd /D "%DailyPath%" 

これはpowershellの代替手段です。

Function CD# { 
    $DailyPath = "C:\Test\$(Get-Date -F "yyyy\\M\\d\\")" 
    IF (!(Test-Path $DailyPath)) { mkdir $DailyPath|out-null } 
    Set-Location $DailyPath 
} 
関連する問題