找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20249|回复: 4

[文本处理] [已解决]批处理复制时间段的文件,根据返回值来确定复制成功?

[复制链接]
发表于 2009-10-4 18:18:41 | 显示全部楼层 |阅读模式
  1. for /r %%a in (*.*) do (
  2. set var=%%~ta
  3. set var=!var:~0,4!!var:~5,2!!var:~8,2!
  4. IF !VAR! GEQ !TIME1! IF !VAR! LEQ !TIME2! xcopy "%%a“ f:\123
  5. if %errorlevel% == 0 echo OK)
复制代码
XCOPY 成功 回显OK ,假如时间段内有6个文件,会回显13个OK。。不明白。。。
  1. for /r %%a in (*.*) do (
  2. set var=%%~ta
  3. set var=!var:~0,4!!var:~5,2!!var:~8,2!
  4. IF !VAR! GEQ !TIME1! IF !VAR! LEQ !TIME2! xcopy "%%a" f:\123)
  5. if %errorlevel% == 0 echo OK
复制代码
有时xcopy失败,也会回显OK

因为要复制1000多个文件夹内的文件,要判断复制是否成功,希望每复制完一个文件夹就回显一个OK。而不是每个文件都回显。 希望高手解疑。。。

[ 本帖最后由 iamstar 于 2009-10-11 18:50 编辑 ]

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢主动给标题标注[已解决]字样

查看全部评分

发表于 2009-10-4 21:02:23 | 显示全部楼层
注意括号..
for /r %%a in (*.*) do (
set var=%%~ta
set var=!var:~0,4!!var:~5,2!!var:~8,2!
IF !VAR! GEQ !TIME1! IF !VAR! LEQ !TIME2! (
xcopy "%%a“ f:\123
if %errorlevel% == 0 echo OK
)
)
HAVE A TRY
 楼主| 发表于 2009-10-5 09:16:47 | 显示全部楼层

回复 2楼 的帖子

我验证的还是不行,if %errorlevel% == 0 echo OK 我都改为echo %errorlevel%
结果复制成功回显的是1
而且也是时间段内的每一个文件都回显一个返回值1。
我希望复制完一个文件夹就回显一个OK。而不是每个文件都回显。。
发表于 2009-10-5 10:32:43 | 显示全部楼层
所发代码若不止一行,请用code标记把代码部分首尾括起来。

Q: 如何用code把代码扩起来?
A: http://bbs.bathome.net/thread-404-1-1.html

参考:批处理之家论坛使用常见问题FAQ
http://bbs.bathome.net/thread-3473-1-1.html
 楼主| 发表于 2009-10-11 18:51:22 | 显示全部楼层
%errorlevel%改为!errorlevel!我用的是变量延迟 。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 12:11 , Processed in 0.038123 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表