您好,我正在运行一个批处理脚本来获取当前日期并对其执行数值运算。
我使用以下命令获取日期,然后对其进行操作(加、减等)。
但如果日期返回的值小于 10(例如 09、08),则操作会出错。
set dd=%date:~7,2%
set /a dd1=08-1
Invalid number. Numeric constants are either decimal (17),hexadecimal (0x11), or octal (021).
Run Code Online (Sandbox Code Playgroud)
请帮忙
我有一个BAT脚本,它使用SQL存储过程中的数据创建一个文件.我想做的是用日期/时间戳重命名该文件,但在谷歌搜索中还没有找到可行的解决方案.
例.当前文件名Pcnt.txt将其更改为PcntYYYYMMDDHHMM.csv,我可以将格式更改为csv,但该文件刚刚重命名为Pcnt.csv,需要添加一些代码来插入日期/时间戳.
请帮忙
谢谢
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a-%%b)
set mydir="%mydate%-%mytime%"
mkdir %mydir%
Run Code Online (Sandbox Code Playgroud)
使用上面的批处理脚本,我可以创建一个目录名称,如2015-05-14-11-30 AM
现在我需要将时间转换为 24 格式并删除 AM/PM
预期的文件夹名称 - 2015-05-14-11-30
怎么做 ?
我有一个批处理文件,将日期格式化为YYYYMMDD并将其存储为变量.但是,当我想生成文件名中包含日期的文本输出文件时,它会在日期之后删除所有内容.有人可以帮忙吗?您将在我的示例中注意到您将获得带有文本的输出文件,但文件名将是日期,并且.txt扩展名将被删除.
@echo off
SETLOCAL ENABLEEXTENSIONS
if "%date%A" LSS "A" (set toks=1-3) else (set toks=2-4)
for /f "tokens=2-4 delims=(-)" %%a in ('echo:^|date') do (
for /f "tokens=%toks% delims=.-/ " %%i in ('date/t') do (
set '%%a'=%%i
set '%%b'=%%j
set '%%c'=%%k))
if %'yy'% LSS 100 set 'yy'=20%'yy'%
set Today=%'yy'%-%'mm'%-%'dd'%
ENDLOCAL & SET v_year=%'yy'%& SET v_month=%'mm'%& SET v_day=%'dd'%
set mydate=%V_Year%%V_Month%%V_Day%
echo text for output file > %mydate%.txt
Run Code Online (Sandbox Code Playgroud)