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

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. InnoDB多版本

    InnoDB是一个多版本的存储引擎:为了支持事务的一些特性诸如并发和回滚,它保持着被修改行的旧版本信息.这些信息被存储在一个被叫做“回滚段”的表空间中(跟Oracle中的回滚段类似).InnoDB在回 ...

  2. 译《The Part-Time Parliament》——终于读懂了Paxos协议!

    最近的考古发现表明,在Paxos小岛上,尽管兼职议会成员都有逍遥癖,但议会模式仍然起作用.他们依旧保持了一致的会议记录,尽管他们频繁的进出会议室并且他们的信使还很健忘.Paxon议会协议提供了一种新方 ...

  3. 大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    微信公众号[程序员江湖] 作者黄小斜,斜杠青年,某985硕士,阿里 Java 研发工程师,于 2018 年秋招拿到 BAT 头条.网易.滴滴等 8 个大厂 offer,目前致力于分享这几年的学习经验. ...

  4. 多线程编程学习笔记——使用异步IO

    接上文 多线程编程学习笔记——使用并发集合(一) 接上文 多线程编程学习笔记——使用并发集合(二) 接上文 多线程编程学习笔记——使用并发集合(三) 假设以下场景,如果在客户端运行程序,最的事情之一是 ...

  5. 微信小程序自定义navigationBar标题栏

    小程序默认使用的navigationBar只能设置颜色.文字,左侧返回按钮也是不可改变的,若要实现下方效果有解决方案,但是也有一定的问题. 1.更改app.json "window" ...

  6. Chapter 4 Invitations——3

    Edward was never surrounded by crowds of curious by standers eager for his firsthand account. Edward ...

  7. mongo-spark-读取不同的库数据和写入不同的库中

    mongo-spark-读取不同的库数据和写入不同的库中 package com.example.app import com.mongodb.spark.config.{ReadConfig, Wr ...

  8. Spring Boot 系列(九)数据层-集成Spring-data-jpa

    实际开发中,不可避免地会对数据进行反复的增删改查操作,然而这部分工作是十分繁琐枯燥的.那么,随即而生的ORM框架就能很好的解决这个问题. 我们常用的ORM框架有:Hibernate.Mybatis.J ...

  9. 菜鸟系列docker——docker仓库(2)

    1.仓库Registry 我们一般的镜像都是保存在仓库中,这样在其他服务器上可以直接从仓库获取镜像.仓库一般分为公共registry和私有registry.公共registry一般是Docker公司负 ...

  10. 监控MySQL组复制

    使用 Perfomance Schema 中的表来监控组复制,假定你的MySQL编译时已经启动了 Performance Schema 表.组复制将添加如下两张 P_S 表: performance_ ...