在批处理中获得日期

Batch批处理最全学习教程 之前项目用到了MySQL、Redis、MongoDB和其他一些独立的jar包程序,测试的时候需要用脚本配置java环境变量,并运行各个程序。结果打开有四五个cmd黑框,领导又要求不显示cmd黑框。经过网上查阅资料,学习了一下批处理的一些知识,写下这篇文章整理一下。 一、批处理介绍 批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展名为bat。目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批 阅读详情

echo %date:~0,10% 即可

"~"在此处似乎是范围标志,具体用法,待考

考察结果在此:

从set /?中查看到:

显示、设置或删除 cmd.exe 环境变量。

SET [variable=[string]]

  variable  指定环境变量名。
  string    指定要指派给变量的一系列字符串。

要显示当前环境变量,键入不带参数的 SET。

如果命令扩展被启用,SET 会如下改变:

可仅用一个变量激活 SET 命令,等号或值不显示所有前缀匹配
SET 命令已使用的名称的所有变量的值。例如:

    SET P

会显示所有以字母 P 打头的变量

如果在当前环境中找不到该变量名称,SET 命令将把 ERRORLEVEL
设置成 1。

SET 命令不允许变量名含有等号。

在 SET 命令中添加了两个新命令行开关:

    SET /A expression
    SET /P variable=[promptString]

/A 命令行开关指定等号右边的字符串为被评估的数字表达式。该表达式
评估器很简单并以递减的优先权顺序支持下列操作:

    ()                  - 分组
    ! ~ -               - 一元运算符
    * / %               - 算数运算符
    + -                 - 算数运算符
    << >>               - 逻辑移位
    &                   - 按位“与”
    ^                   - 按位“异”
    |                   - 按位“或”
    = *= /= %= += -=    - 赋值
      &= ^= |= <<= >>=
    ,                   - 表达式分隔符

如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用
引号扩起来。在表达式中的任何非数字字符串键作为环境变量
名称,这些环境变量名称的值已在使用前转换成数字。如果指定
了一个环境变量名称,但未在当前环境中定义,那么值将被定为
零。这使您可以使用环境变量值做计算而不用键入那些 % 符号
来得到它们的值。如果 SET /A 在命令脚本外的命令行执行的,
那么它显示该表达式的最后值。该分配的操作符在分配的操作符
左边需要一个环境变量名称。除十六进制有 0x 前缀,八进制
有 0 前缀的,数字值为十进位数字。因此,0x12 与 18 和 022
相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,
因为 8 和 9 不是有效的八进制位数。

/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入
行之前,显示指定的 promptString。promptString 可以是空的。

环境变量替换已如下增强:

    %PATH:str1=str2%

会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。
要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。
"str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的
开始到 str1 剩余部分第一次出现的地方,都一直保持相配。

也可以为扩展名指定子字符串。

    %PATH:~10,5%

会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏
移量 10)字符开始的五个字符。如果没有指定长度,则采用默认
值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,
使用的数字则是环境变量数值长度加上指定的偏移量或长度。

    %PATH:~-10%

会提取 PATH 变量的最后十个字符。

    %PATH:~0,-2%

会提取 PATH 变量的所有字符,除了最后两个。

终于添加了延迟环境变量扩充的支持。该支持总是按默认值被
停用,但也可以通过 CMD.EXE 的 /V 命令行开关而被启用/停用。
请参阅 CMD /?

考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境
变量扩充是很有用的,而不是执行的时候。以下例子说明直接
变量扩充的问题:

    set VAR=before
    if "%VAR%" == "before" (
        set VAR=after
        if "%VAR%" == "after" @echo If you see this, it worked
    )

不会显示消息,因为在读到第一个 IF 语句时,BOTH IF 语句中
的 %VAR% 会被代替;原因是: 它包含 IF 的文体,IF 是一个
复合语句。所以,复合语句中的 IF 实际上是在比较 "before" 和
"after",这两者永远不会相等。同样,以下这个例子也不会达到
预期效果:

    set LIST=
    for %i in (*) do set LIST=%LIST% %i
    echo %LIST%

原因是,它不会在目前的目录中建立一个文件列表,而只是将
LIST 变量设成找到的最后一个文件。这也是因为 %LIST% 在
FOR 语句被读取时,只被扩充了一次;而且,那时的 LIST 变量
是空的。因此,我们真正执行的 FOR 循环是:

    for %i in (*) do set LIST= %i

这个循环继续将 LIST 设成找到的最后一个文件。

延迟环境变量扩充允许您使用一个不同的字符(惊叹号)在执行
时间扩充环境变量。如果延迟的变量扩充被启用,可以将上面
例子写成以下所示,以达到预期效果:

    set VAR=before
    if "%VAR%" == "before" (
        set VAR=after
        if "!VAR!" == "after" @echo If you see this, it worked
    )

    set LIST=
    for %i in (*) do set LIST=!LIST! %i
    echo %LIST%

如果命令扩展被启用,有几个动态环境变量可以被扩展,但
不会出现在 SET 显示的变量列表中。每次变量数值被扩展时,
这些变量数值都会被动态计算。如果用户用这些名称中任何
一个定义变量,那个定义会替代下面描述的动态定义:

%CD% - 扩展到当前目录字符串。

%DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。

%TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。

%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。

%ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。

%CMDEXTVERSION% - 扩展到当前命令处理器扩展版本号。

%CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。

全面解析大数据批处理框架Spring Batch,所谓完美解析方案是什么 但批处理领域的框架确凤毛麟角。Spring Batch框架提供了对文件分区的支持,实现类org.springframework.batch.core.partition.support.MultiResourcePartitioner提供了对文件分区的默认支持,根据文件名将不同的文件处理进行分区,提升处理的速度和效率,适合有大量小文件需要处理的场景。Step包含了一个实际运行的批处理任务中的所有必需的信息,其实现可以是非常简单的业务实现,也可以是非常复杂的业务处理,Step的复杂程度通常是业务决定的。 阅读详情

相关推荐

关于批处理(Batch)固定语法和代码

BAT脚本是一种简单而强大的自动化工具,通过掌握其基础语法、常用命令和控制语句,可以编写出功能丰富的批处理脚本,实现各种自动化任务。尽管BAT脚本的编程能力相对有限,但在日常的系统管理和文件操作中,它仍然发挥着重要作用。

weixin_46176962的博客 787

set的常见用法详解

目录set的定义set容器内元素的访问 set翻译为集合,是一个内部自动有序且不含重复元素的容器。在考试中,有可能出现需要去掉重复元素的情况,而且有可能因这些元素比较大或者类型不是int型而不能直接开散列表,在这种情况下就可以用set来保留元素本身而不考虑它的个数。当然,上面说的情况也可以通过再开一个数组进行下标和元素的对应来解决,但是set提供了更为直观的接口,并且加入set之后可以实现自动排序,因此熟练使用set可以在做某些题时减少思维量。 需要的头文件: #include<set>

辉小歌的博客 2万+

Set命令解析及编程示例

Set命令是一种常见的命令行指令,用于设置和更改环境变量、变量值以及执行其他与变量相关的操作。通过Set命令,可以方便地进行环境配置和变量操作。本文提供了Set命令的基本语法和常见用途,并给出了一些编程示例以帮助读者理解和应用这一命令。Set命令是一种常见的命令行指令,它在不同的编程语言和操作系统中都有相应的用法和功能。其中,选项是可选的,可以设置一些特定的标志或参数,变量名是要操作的变量的名称,值是要为变量设置的新值。下面将提供一些具体的编程示例,以帮助读者更好地理解Set命令的用法。

CodeByte的博客 1443

07-CMD_set命令详解

set命令详解 一, 用set 命令设置自定义变量 作用:     显示、设置或删除 cmd.exe  环境变量。 格式:     SET [variable]=[string]          variable    指定环境变量名。          string      指定要指派给变量的一系列字符串。     说明:     1) set          :

吴钦飞 2万+

Set命令详解与编程

Set命令是一种用于给变量赋值的关键字,在编程中有广泛的应用。在一些计算密集型的任务中,我们可能需要将中间计算结果存储在变量中,以便稍后使用。在编程中,Set命令是一种用于给变量赋值的关键字。Set命令在不同的编程语言中可能有不同的语法和用法,下面将介绍一些常见的用法。在程序的执行过程中,我们经常需要更新变量的值。在某些编程语言中,我们可以使用Set命令交换两个变量的值,而无需使用额外的临时变量。在某些编程语言中,Set命令还允许将多个变量同时赋予相同的值。这样,y的值将赋给x,x的值将赋给y。

LogicGuruX的博客 563

Windows的批处理——获取系统时间、生成当天日期日志

在我们进行软件开发的过程中,有时候会使用到一些批处理命令,其中就涉及到获取系统日期、时间来进行一些逻辑的判断处理;那么我们就需要使用到系统的日期和时间内容进行操作(比如需要获取到指定的天、月的日期做处理;或者是指定的小时、分钟做处理)。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 1万+

set命令用法详情及演示

set命令用法和演示

qq_58114167的博客 4574

HAL库STM32CubeMX+DHT11温湿度传感器模块化驱动与OLED显示实战

本文详细介绍了基于HAL库和STM32CubeMX开发DHT11温湿度传感器模块化驱动的实战过程。通过精确的时序控制和模块化封装,实现了传感器数据采集,并结合OLED显示模块实时展示温湿度信息,为嵌入式开发者提供了完整的解决方案。

h6j7k8l9p0的博客 1131

批处理获得任意天前的日期

@echo off :: 作者: namejm 出自:cn-dos :: 求N天前的日期 :: 日期可以带星期,但是,必须以年月日的顺序排列 :: 年份必须是四位,否则会出错 @echo off :Main cls set day=%date% set days=0 echo.&echo. echo 当前日期是:%day% echo.&set /p input...

iteye_16035的博客 408

【任何电机可使用的七段式s曲线-----包括matlab代码和simulink仿真】

S形加加速(T1)→>匀加速(T2)→减加速(T3)→>匀速(T4 )>加减速(T5)>匀减速(T6)-→>减减速(T7)

weixin_44312889的博客 6307

ANSYS APDL 异类单元连接实战:MPC方法在壳-实体装配中的应用

本文详细介绍了在ANSYS APDL中使用MPC方法实现壳单元与实体单元高效连接的技术要点。通过分析工程仿真中的常见需求,阐述了MPC方法在解决异类单元连接问题上的优势,包括网格独立性、自由度耦合和载荷传递等特性,并提供了具体的APDL命令流操作示例和实用经验技巧。

weixin_33391446的博客 178

在批处理文件中怎么获得三天前的日期

摘自:http://blog.19lou.com/88274/viewspace-285116 @echo on setlocal enabledelayedexpansion ::定义天数; set /a fn = 1 ::定义各月的天数; for %%i i

风过无声 1225

【EPS精品教程】EPS2016三维测图版安装教程(附EPS2016安装包下载地址)

EPS地理信息工作站是北京清华山维新技术开发有限公司历经十五年精心研发和打造,为满足“以地理信息服务为中心”的信息化测绘生产需求而推出的测绘生产活动多种业务模块集成化软件系统。主要功能有:(1)测绘与地理信息多业务模块集成管理;(2)多元多尺度多种类数据集成管理;(3)跨平台异构数据转换;(4)数据监理;(5)自动缩编与综合;(6)坐标转换与动态投影;(7)地理信息模板定制;(8)GIS地理信息描述与CAD图形表达一体化支持;(9)GIS数据库更新维护;(10)图形打印与地图出版。 一、安装过程 EP..

智慧空间实验室 2万+

批处理: 获得系统日期和时间, 并格式化显示

系统日期由以下参数获得: %date% 系统时间则由以下参数获得: %time% 看一下这个 echo %date% 我们在Windows XP中输入以下命令:,得到的结果类似以下(输出结果可能因系统日期、时间格式而异): C:\Documents and Settings\Simon>echo %date% 2008-09-09 星期二 或者 C:\Documents

cay22的专栏 2万+

CRC_16---ModBus 计算方法及代码实现

1、 CRC寄存器初始值为 0xFFFF;即16个字节全为1; 2、 CRC-16 / ModBus的多项式0xA001H (1010 0000 0000 0001B) ; ‘H’表示16进制数,‘B’表示二进制数。 计算步骤为: (1).预置 16 位寄存器为十六进制 0xFFFF(即全为 1) ,称此寄存器为 CRC 寄存器; (2).把第一个 8 位数据与 16 位 CRC 寄存器的低位相异或,把结果放于 CRC 寄存器; (3).检测相异或后的CRC寄存器的最低位,若最低位为1,CRC寄存器

1万+

【原理图与PCB专题】使用Cadence如何在Layout时直接互换相同功能的PIN

Cadence允许我们在PCB中互换管脚,最后再反标给原理图。集成TVS管、排阻、DDR、FPGA有一些PIN是完全相同功能,可进行管脚互换的,建议使用这个功能。可降低硬件工程师与Layout工程师之间沟通成本,加快设计进度。

一点硬件 801

批处理(bat)命令获得并格式化日期和时间

<br />set d=%date:~0,10%<br />set d=%d:-=%<br />set d=%d: =0%<br />set t=%time:~0,8%<br />set t=%t::=%<br />set t=%t: =0%<br />echo "%p%%d%%t%"<br />pause

如影随形 1万+

【OpenClaw企业级智能体实战】第04篇:OpenClaw成本优化实战——Token消耗降96%!claude-mem+OpenViking从入门到精通

OpenClaw作为企业级智能体框架,凭借强大的自动化能力成为企业数字化转型的热门工具,但原生机制导致的上下文冗余问题,让众多用户面临“Token消耗失控”的困境——单周账单数千元的案例屡见不鲜。本文基于阿里云实测数据与开源工具官方文档,先深度拆解OpenClaw成本黑洞的核心成因(记忆碎片化、Token指数级膨胀),再系统讲解两款核心优化工具(claude-mem单Agent记忆管理、OpenViking多Agent集群底座)的底层原理、算法架构与实现逻辑,提供从环境搭建、工具集成、参数调优到安全部署

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 702

常见批处理应用小集

Last modified in Mar 29 2005如何利用dos批处理实现按当前日期创建目录?http://community.youkuaiyun.com/Expert/TopicView.asp?id=3816214如何使一个批处理的文件的Dos窗口不显示?http://community.youkuaiyun.com/Expert/TopicView.asp?id=3665499如何做一个获得进程PID的批处

Aceryt 1668

【AgentScope 2.0】01-不搭 demo,直接解剖一个生产级 Agent 平台:loser-agent 全链路地图

本文介绍生产级Agent平台loser-agent的完整请求旅程,从用户发消息到返回结果共七站:入口鉴权、灰度路由、Agent装配、模型路由、工具执行、持久化与流式响应。课程以真实源码为线索,深入剖析每一步实现逻辑,涵盖灰度发布、权限控制、HITL审批、多模态处理、状态持久化等核心能力。强调框架仅负责Agent运行时语义,平台自建管理请求生命周期中所有非框架部分,适合Java后端开发者系统掌握Agent工程化落地。

loser.with.m的博客 724

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

BAT 计算指定天数之前的日期

DOS,计算指定天数之前的日期

鞠勇鸿的技术专栏 3853

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

cmd下windows批处理,获取当前系统时间,生成日志文件名

示例: rdGetRTData_log%date:~0,4%%date:~5,2%%date:~8,2%.txt 生成格式: rdGetRTData_log20151103.txt 编写Windows批处理时经常会需要使用到日期和时间作为文件名,所以是非常重要的。 如何获取日期呢?格式: %date%结果: 2012-07-31 如何获取时间呢?格式: %time%结果:...

weixin_30604651的博客 297

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

计算N天前的日期的bat脚本

@echo offrem 计算指定天数之前的日期set DaysAgo=10rem 假设系统日期的格式为yyyy-mm-ddcall :DateToDays %date:~0,4% %date:~5,2% %date:~8,2% PassDaysset /a PassDays-=%DaysAgo%call :DaysToDate %PassDays%...

weixin_33834628的博客 373

使用批处理bat作为日期系统日期的前三天

在管理server它经常是依据一天来推断载日期系统日志文件,例如,上周五,周一的需要上传日志。上传日志的日期前一天,日志文件命名的日期。这需要获得的日期的前三天。或之前n当天日期。批量绑定vbs可以实现,如下列文件。 if "%date:~13%"=="一" (set DaysAgo=3) else (set DaysAgo=1) &gt;"%temp%\MyDate.vbs" echo...

weixin_33937778的博客 314

windows bat批处理获取当前时间

代码实例 set d=%date:~0,10% set t=%time:~0,8% echo %d% %t% 解释 格式: %date:~x,y%以及%time:~x,y% 说明: x是开始位置,y是取得字符数 比如说我要获取完整的日期和时间, 格式: %date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2...

岳麓丹枫 1万+
上一篇: [转贴]使UltraEdit支持Python的方法
下一篇: 使用netsh启停网卡
悠云guo
博客等级 码龄24年 8粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值