我一直在寻找很多关于如何在Windows批处理上将字符串转换为整数的方法,但我只是不知道该怎么做。
我写了一个批处理,将文件从目录复制到另一个目录,并以当前日期命名。我的代码是这样的:
set FILE=log %date:~6,4%-%date:~3,2%-%date:~0,2% copy C:\log.txt C:\"%FILE%".txt
我需要进行转换以使FILE成为前一天。例如,如果我现在运行脚本,我将得到一个名为“ log 2014-07-09”的文件,但我希望它是“ log 2014-07-08”。
我已经尝试了这几句话,但收到有关数字值无效的错误:
set DAY=%date:~0,2% :: this assignation give me no problems
set /A DAY = %DAY%-1 :: this is the one that makes my head breaks
我不知道错误在哪里,因为我几乎不知道Windows批处理语句。我已经在“帮助”命令和其他站点(如此站点)上阅读了有关SET命令语法的信息,但是我找不到失败的地方。我知道这可能非常简单(在某些编程语言中,使用Parse语句就足够了),但是我是该批处理脚本内容的新手,因此,我们将不胜感激。:)
解决它的方法:
@echo off
set "$DateNew=%date:~0,2%"
set /a "$DateNew=%$DateNew:0=%-1"
if %$DateNew%==0 set "$DateNew=10"
set "$DateNew=0%$DateNew%"
set "FILE=log %date:~6,4%-%date:~3,2%-%$dateNew:~-2%"
copy C:\log.txt C:\"%FILE%.txt"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句