Batch file 使用Pertical目录中的jenkins为每个EAR文件生成创建新文件夹
我正在使用批处理文件生成EAR文件。但每次它都会覆盖上一个EAR文件。我需要根据特定的时间戳为每个创建的EAR文件创建新文件夹Batch file 使用Pertical目录中的jenkins为每个EAR文件生成创建新文件夹,batch-file,Batch File,我正在使用批处理文件生成EAR文件。但每次它都会覆盖上一个EAR文件。我需要根据特定的时间戳为每个创建的EAR文件创建新文件夹 请提供帮助。以YYYYMMdd格式创建文件夹(自windows 2000以来,每台windows计算机上都可以运行尽可能高的兼容性,且不受时间设置的影响): @echo关闭 setlocal enableDelayedExpansion pushd“%temp%” makecab/D RptFileName=~.rpt/D InfFileName=~.inf/f nul
请提供帮助。以YYYYMMdd格式创建文件夹(自windows 2000以来,每台windows计算机上都可以运行尽可能高的兼容性,且不受时间设置的影响):
@echo关闭
setlocal enableDelayedExpansion
pushd“%temp%”
makecab/D RptFileName=~.rpt/D InfFileName=~.inf/f nul>nul
对于('find/i“makecab”^中的/f“tokens=3-7”%%a,我想在这里给出一个更好的想法,在分析您的输入之后,您正在使用Jenkins构建ear文件,因此使用Jenkins中预定义的Jenkins环境变量每次创建一个新文件夹。
在构建ear文件的代码开头的下面两行
cd%workspace%
MD“%BUILD\u NUMBER%\u%日期:~10,4%%日期:~4,2%%日期:~7,2%”
- BUILD_NUMBER-是一个jenkins预定义变量,具有当前
每次生成唯一作业的编号
date命令:将在windows中为您提供日期,但对于格式,已完成其他更改。日期的结果将为YYDDMM格式
- 工作空间:是一个jenkins预定义变量,它将给出
生成使用的路径/位置,即数据的物理路径
到目前为止,您都尝试过什么代码?发布您的代码!您好,我试过使用MD%BUILD\u NUMBER%\u%date:~10,4%%date:~4,2%%date:~7,2%。为了解释更多。如果我在jenkins有2个工作,而BUILD 1发生在工作1中,并且当我尝试在job2中触发BUILD 1时,它给出了C:*\.jenkins\workspace\ReviewWorkFlow\u Development>MD 14\u 20150610一个子目录或file 1_20150610已经存在………我需要做什么??从它引用的位置。请帮助。如何使用日期和时间创建………EAR正在C:\path中生成。我需要创建一个带有时间和日期的文件夹,以便我们不会丢失每个生成的EAR文件。@geetha-time也添加了。build\u ID没有生成时间stampHi,我在jenkins中有3个作业。如果当job2尝试触发第三次生成时,build ex 3已经在job1中生成,则获取子目录或文件3已经存在。我需要带有时间stampHi的生成编号,C:*\.jenkins\workspace\ReviewWorkFlow\u Development>MD 14\u 20150610子目录或文件14\u 20150610已经存在………我需要做什么它引用的位置。请帮助如何使用日期和时间创建。找到您的问题,解决方法是使用“报价”。请尝试上面更新的代码
@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