使用相关目录

时间:2015-06-08 07:59:56

标签: batch-file

我正在使用批处理文件生成EAR文件。但每次它覆盖以前的EAR文件。我需要按特定时间戳为每个创建的EAR文件创建新文件夹。

请帮忙。

2 个答案:

答案 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%"

  • BUILD_NUMBER - 是一个jenkins预定义变量,具有当前变量 每次都是唯一的工作的编号。

日期命令:将在Windows中为您提供日期,但是为了格式化,还会进行其他更改。日期结果将是YYYYDDMM格式

  • workspace:是一个jenkins预定义变量,它将给出 构建使用的路径/位置,即数据的物理路径。