我知道Stackoverflow中有多个问题,说如何使用当前日期作为文件夹名称,但是我正在寻找不同的东西。

如果今天的日期是1/22/2017,我希望有三个文件夹:

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

该目录看起来像C:\2017\1\22\

我将如何去做?

最佳答案

我有一个具有类似设置的批次,
你将不得不适应线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
}

关于windows - 在批处理文件中创建具有分层层次结构的日期,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41795501/

10-10 09:06