我对Windows的批处理文件语法不是很了解。我的简单需求是在特定位置创建一个以当前日期命名的文件夹。我尝试在Google上搜索,但没有找到任何好的选项。有没有什么办法可以做到这一点?
我对Windows的批处理文件语法不是很了解。我的简单需求是在特定位置创建一个以当前日期命名的文件夹。我尝试在Google上搜索,但没有找到任何好的选项。有没有什么办法可以做到这一点?
https://stackoverflow.com/a/31789045/1010918 foxidrive的回答帮助我得到了我想要的日期和时间文件夹。我想在这里分享这种方法,因为它对我非常有效,我认为它也可以帮助其他人,无论他们的语言环境如何。
rem The four lines below will give you reliable YY DD MM YYYY HH Min Sec MS variables in XP Pro and higher.
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%" & set "MS=%dt:~15,3%"
set "dirname=%YYYY%-%MM%-%DD% %HH%-%Min%-%Sec%"
:: remove echo here if you like
echo "dirName"="%dirName%"
使用以下内容来设置 HUN 格式的 YYYY.MM.DD 格式。它将把 "2021. 02. 23." 转换为 "2021.02.23":
SET dirname="%date:~0,5%%date:~6,3%%date:~10,2%"
md %dirname%
mkdir %date%-%time:~0,2%.%time:~3,2%.%time:~6,2%
这创建了一个看起来像这样的文件夹:
2018-10-23-17.18.34
时间必须连接,因为它包含Windows不允许的字符:
。
G:
cd G:/app/
mkdir %date:~7,2%%date:~-10,2%%date:~-4,4%
cd %date:~7,2%%date:~-10,2%%date:~-4,4%
sqlplus sys/sys as sysdba @c:/new