批处理获取某路径下最新创建的文件的名称

by:授客 QQ1033553122

echo off
setlocal enabledelayedexpansion

rem
设置文件所在目录

set src_dir=F:\Download\test

rem filename用于存放目标文件名

set filename=""

cd /d %src_dir%
for /f %%a in ('dir /o-d /tc /b test*.html') do (
    echo

文件完整信息:
%%a
    set
filename=%%~na%%~xa
    echo

文件名:
!filename!,
最新创建时间:
%%~ta
    if not
!filename! == ""  (
  
    
goto iconv
    )
)

:iconv
iconv -f gbk -t utf-8 %filename% >
"jenkins_test_report.html"
pause

说明:

setlocal enabledelayedexpansion:开启本地环境变量延迟

扩展阅读:
批处理运行命令的机制:批处理读取命令时是按行读取的(对于for命令等,其后用一对圆括号闭合的所有语句也当作一行),在处理之前要完成必要的预处理工作,这其中就包括对该行命令中的变量(%var_name%)赋值。开启本地环境变量延迟后,在读取了一条完整的语句之后,不立即对该行的变量赋值,而是在执行某个单条语句之前再对变量进行赋值,也就是说“延迟”了对变量的赋值。开启本地环境变量延迟后,原有变量的界定符由

"%"
改成"!"

for循环语法

for /f %variable IN ('command') DO command
[command-parameters]

dir /o-d /tc /b test*.html:按文件创建时间降序显示test开头的.html文件

dir命令选项

/b

使用空格式(没有标题信息或摘要)。

/o

用分类顺序列出文件。
排列顺序:d

按日期/时间(从先到后)

反转顺序的前缀

/t

控制显示或用来分类的时间字符域。

创建时间a

上次访问时间 

上次写入的时间

例:

dir /od:按日期/时间升序显示

dir /o-d:按日期/时间降序显示

dir /tw: 
时间列输出为修改时间(默认)

if not !filename! == ""  (
    goto
iconv
)
如果变量filename不为空,则表示取到了值,

goto iconv
跳转到iconv标签,继续执行标签后的语句

%%a:文件完整信息

%%~da:文件所在驱动器信息

%%~pa:文件所在路径信息

%%~na:文件名信息

%%~xa:文件后缀信息

%%~za:文件大小信息

%%~ta:文件修改时间信息

%%~dpa:文件所在驱动器和所在路径信息

%%~nxa:文件名及后缀信息

%%~pnxa:文件所在路径及文件名和后缀信息

%%~dpna:文件驱动器、路径、文件名信息

%%~dpnxa:文件驱动器、路径、文件名、后缀信息

rem
注释语句

常见问题:

cmd中的编码方式为ANSI,如果中文不是此编码方式则会出现乱码。

解决方法:编辑批处理文件时,以ANSI方式编辑即可(windows自带的记事本保存文件时即可选择编码方式为ANSI)

Windows 批处理获取某路径下最新创建的文件的名称的更多相关文章

  1. SQL:获取每个key下最新创建的记录

    今天遇到了一个好玩的问题 问题: 有一个含有key和createdTime字段的表,表里存在很多不同的key值,每个key值下有很多记录. 我想要查出每个key下面cratedTime最大的记录,即每 ...

  2. windows程序设计 获取系统文件路径

    获取系统文件路径,打印到txt文件中. #include <windows.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hP ...

  3. Windows 定时删除指定路径下N天前的日志文件

    Windows 定时删除指定路径下N天前的日志文件 Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 @echo off set SrcDir=E:\WORK\Git s ...

  4. spring boot 打jar包,获取resource路径下的文件

    前言:最近在spring boot项目静态类中获取resource路径下文件,在idea中启动都可以获取,但是打包后变成了jar包 就无法获取到. 我想到了两种方法,一种是根据http访问静态资源比如 ...

  5. Java 递归获取一个路径下的所有文件,文件夹名称

    package com.readfile; import java.io.File; public class GetAllFiles { public static void main(String ...

  6. Python获取指定路径下所有文件的绝对路径

    需求 给出制定目录(路径),获取该目录下所有文件的绝对路径: 实现 方式一: import os def get_file_path_by_name(file_dir): ''' 获取指定路径下所有文 ...

  7. JavaWeb学习——获取类路径下的资源

    对于JavaWeb而言,获取类路径下的资源,就是获取classes目录下的资源. 获取资源的方式有两种,利用Class或ClassLoader. Class类的getResourceAsStream( ...

  8. C#中获取指定路径下特定开头和后缀的所有文件

    场景 指定一个文件路径,获取当前路径下所有文件,并筛选出以指定内容开头和结尾的文件. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 ...

  9. java 获取某路径下的子文件/子路径

    /** * 获取某路径下的子文件 * */ public static List<String> getSubFile(String path){ List<String> s ...

随机推荐

  1. CSS box-sizing属性

    全文摘抄自 https://developer.mozilla.org/zh-CN/docs/Web/CSS/box-sizing 专门抄一遍是因为,我想当然的以为标准盒子模型设置的宽高是包括padd ...

  2. 华为交换机以 LACP 模式实现链路聚合

    LACP 链路聚合模式简介 以太网链路聚合是指将多条以太网物理链路捆绑在一起成为一条逻辑链路,从而实现增加链路带宽的目的.链路聚合分为手工模式和LACP模式. LACP模式需要有链路聚合控制协议LAC ...

  3. MySQL系列详解六:MySQL主从复制/半同步演示-技术流ken

    前言 随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时数据库集群就很好的解决了这个问题了.采用MySQL分布式集群,能够搭建一个高并发.负载均衡的集群服务器.在 ...

  4. 【golang-GUI开发】项目的编译

    在上一篇文章里,我们讲到了安装therecipe/qt(https://www.cnblogs.com/apocelipes/p/9296754.html),现在我们来讲讲如何编译使用了thereci ...

  5. 关于VS Code使用注意

    1]:初次使用vs code或多或少有些问题.比如不小心把最左边的这四个快捷按钮消失.,直接按 alt+v  选择[显示活动板]就行了 2]:修改界面语言   快捷键ctrl+shift+p   [修 ...

  6. [转]Laravel - Where null and Where not null eloquent query example

    本文转自: https://hdtuto.com/article/laravel-where-null-and-where-not-null-eloquent-query-example- if yo ...

  7. windows 下 nginx 配置文件路径

    nginx在windowns下路径 http{ #虚拟主机1 server{ listen 80; #监听端口,基于IP配置的时候变更此处,比如192.168.1.100:8080; server_n ...

  8. C#通过调用WinApi打印PDF文档类,服务器PDF打印、IIS PDF打印

    其他网站下载来的类,可以用于Winform.Asp.Net,用于服务器端PDF或其他文件打印. 直接上代码: using System; using System.Collections.Generi ...

  9. 服务器文档下载zip格式

    刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Core.Utility;@{ s ...

  10. C# string数组转int数组

    用法 //字符串数组(源数组) string[] sNums = new[] {"1", "2"}; //整型数组(目标数组) int[] iNums; //转 ...