[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 批处理怎样把截取的日期变量中的数值连起来?

  1. set year=%date:~0,4%
  2. set month=%date:~5,2%
  3. set day=%date:~8,2%
  4. set tm1=%year%%month%%day%
  5. set tm2=20100101
复制代码
这其中的 tm1=%year%%month%%day%  在DOS里是 2010 01 09
怎么连不起来呀..那位兄弟帮忙看下.

意思

find是外部命令有些D0S版本是没有的

TOP

find是外部命令有些D0S版本是没有的

TOP

我从别的位置复制了文件,已经行那,,呵呵,   谢谢楼上的各位兄弟...谢谢...

TOP

没有这个文件呀?,那不是要下一个?

TOP

回复 22楼 的帖子

在你的Win98的DOS里面找找find.exe在什么地方
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

晕,兄弟不管怎样还是谢谢你.

楼上的兄弟,上面是我打错了,,,,
find /?
bad command or file name
是一样的,
你的代码我也已经在里面测试,结果还是
bad command or file name
但在,WINDOWS下的COMMAND里却是成立的..

,,,,,我对批处理不大熟悉,   呵,望多费心..急..谢谢

TOP

楼主的问题环境
果然跌掉所有人的眼镜
不是大家所想的Windows CMD
而是所谓的Windows 98 command
这是一个很接近纯DOS的命令行环境
但绝非楼主信誓旦旦所说的“纯DOS”

照道理
在这个环境下
我的Echo.|date|find应该也可以适用
但鉴于楼主的急切
以致于连find命令敲错了都顾不上修改
还是将我的想法变成了一段演示代码
可以复制粘贴过去试试
日期可以根据自己的需要进行修改
  1. @echo off
  2. rem 在指定日期2010-01-21建立目录c:\ct,否则建立c:\22
  3. echo.|date|find "2010-01-21">nul
  4. if not errorlevel 1 goto ct
  5. if not exist c:\22\nul echo md c:\22
  6. if not exist c:\22\nul md c:\22
  7. goto end
  8. :ct
  9. if not exist c:\ct\nul ECHO md c:\ct
  10. if not exist c:\ct\nul md c:\ct
  11. :end
复制代码

TOP

??????????

???????????????????????

TOP

另外我的内容就是开始的一个代码

  1. set year=%date:~0,4%
  2. set month=%date:~5,2%
  3. set day=%date:~8,2%
  4. set tm1=%year%%month%%day%
  5. set tm2=20100109
  6. if %tm1%==%tm2% goto ct
  7. md c:\22
  8. PAUSE
  9. :ct
  10. set ss=%time:~0,2%
  11. set tm3=%ss%
  12. set tm4=10
  13. md c:\ct
  14. pause
  15. ECHO JJJ
  16. PAUSE
复制代码
主要目的是在指定的某一天进行一个目录的建立和删除...也不是非要用我的代码进行修改.那位仁兄有更好也行.先行谢过.

TOP

这是在前台POS机的显示

c:\ver
windows 98 (version 4.10.1998)

c:\fidn /?
bad command or file name
c:\set path
syntax error

TOP

首先在windows下
开始-运行-command-可以得到接近纯DOS的测试环境
建议不要再在cmd下测试了
没有任何意义

另外
建议在你的DOS环境下
运行
ver
find /?
set path
这几个命令看看结果如何
你的环境不单是纯DOS的问题

另外
有可能
把你的程序的全部内容贴上来
让我们了解你的最终意图是什么

TOP

真的是纯DOS

真的是纯DOS,只不过我喜欢在WINDOWS上写好后再在DOS上试。。楼上的方法我刚试过还是不行。
还是显示错误命令。在WINDOWS下是没问题的。麻烦各位仁兄啦。

到底怎样才能在DOS下定时执行呢。。

TOP

判定定时执行
和将日期分段获取没有必然的联系
楼主把问题想的复杂了

DOS和Windows下的思路是截然不同的
如果真的是DOS
可以试试
  1. echo.|date|find "2010-01-12">nul
  2. if not errorlevel 1 goto ct
复制代码

TOP

原帖由 Batcher 于 2010-1-12 15:11 发表
我的猜测:顶楼的代码是在Windows中执行的,有空格是因为每行set命令都是以空格结尾的,这也是我在3楼贴代码的原因^_^


不是猜测,是事实。鼠标一拖就看出来啦。。。

批处理一个字符都不能错啊。。。

看来 set "name=value" 加引号是个好习惯,以前一直。。。因为怕了“引号”~~~

TOP

返回列表