最近在使用jenkins时,要实现一个复制指定目录下最新创建的文件夹的需求,因为是在Windows系统下,所以用bat的方式实现。
经过查找,找到了最新创建的文件夹的名称,代码如下:
@echo off
setlocal enabledelayedexpansion
set index=0
for /f "delims=" %%a in ( 'dir/a:d /o-d /b *' ) do (
set /a index=index+1
if !index! equ 1 (echo %%a)
)
解释:
setlocal enabledelayedexpansion
这个表示打开延时开关,不然index变量在判断的时候,会使用初始化的值0,永远不满足判断条件。而且在使用index的时候,需要加上叹号!表示延时使用。
也可以这样:
for /f "delims=" %%i in ('dir/a:d /od /b D:\test\') do @set testPath=%%i