我正在使用批处理文件生成EAR文件。但每次它覆盖以前的EAR文件。我需要按特定时间戳为每个创建的EAR文件创建新文件夹。
请帮忙。
答案 0 :(得分:1)
以YYYYMMdd格式创建文件夹(从Windows 2000开始,可以在每台Windows机器上运行最高兼容性,并且与时间设置无关):
@echo off
setlocal enableDelayedExpansion
pushd "%temp%"
makecab /D RptFileName=~.rpt /D InfFileName=~.inf /f nul >nul
for /f "tokens=3-7" %%a in ('find /i "makecab"^<~.rpt') do (
set "current-date=%%e-%%b-%%c"
set "current-time=%%d"
set "weekday=%%a"
)
del ~.*
popd
set "current-date=%current-date:-=%"
set "YYYY=%current-date:~0,4%"
set "MM=%current-date:~4,3%"
set "dd=%current-date:~7,2%"
echo %current-time%
set MN=0
for %%# in (Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) do (
set /a MN=MN+1
echo %%#-%MM%
if "%%#" EQU "%MM%" (
goto :break
)
)
:break
if %MN% LSS 10 set MN=0%MN%
echo making directory %YYYY%%MN%%dd%%current-time::=%
md %YYYY%%MN%%dd%%current-time::=%
pause
答案 1 :(得分:1)
我想在这里给出一个更好的想法,在分析您的输入后,您正在使用Jenkins构建ear文件,因此使用Jenkins中预先定义的Jenkins环境变量来每次创建一个新文件夹。 在代码的开头放置两行以下来构建ear文件。
cd %workspace%
MD "%BUILD_NUMBER%_%date:~10,4%%date:~4,2%%date:~7,2%"
日期命令:将在Windows中为您提供日期,但是为了格式化,还会进行其他更改。日期结果将是YYYYDDMM格式