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

[其他] [已解决]这段批处理代码为什么在输入1后就消失了呢?

[复制链接]
发表于 2012-4-9 23:40:49 | 显示全部楼层 |阅读模式
  1. @echo off
  2. set /p num=请输入要执行的操作:
  3. if "%num%"=="1"(
  4. set /p a=请输入内容:
  5. set /p b=请输入文件名:
  6. set /p c=请输入复制后的文件名:
  7. echo %a% >%b%.txt
  8. copy %b%.txt h:\book\%c%.txt
  9. )
  10. pause
  11. set a=
  12. set b=
  13. set c=
  14. set num=
复制代码
在xp环境下运行

评分

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

查看全部评分

发表于 2012-4-10 00:07:21 | 显示全部楼层
(前面少了个空格

评分

参与人数 2技术 +2 收起 理由
mstsc + 1 谢谢
Batcher + 1 乐于助人

查看全部评分

发表于 2012-4-10 00:10:58 | 显示全部楼层
本帖最后由 apang 于 2012-4-10 00:22 编辑

第3行 "1"与(之间没有空格。
好像需要开启变量延迟
发表于 2012-4-10 13:13:59 | 显示全部楼层
回复 1# mstsc


    问题:
1, 需要开启变量延迟。
2,在if后的第一个(之前,请敲入一个空格。
3,你如果目标目录不存在,会产生错误,即如果你没有h盘符,或者h盘下没有book文件夹,会提示错误。所以copy之前 最好判断一下。
完整代码:
  1. @echo off & setlocal EnableDelayedExpansion
  2. set /p num=请输入要执行的操作:
  3. if "%num%"=="1" (
  4.   set /p a=请输入内容:
  5.   set /p b=请输入文件名:
  6.   set /p c=请输入复制后的文件名:
  7.   echo !a!>!b!.txt
  8.   if not exist h:\book md h:\book
  9.   copy !b!.txt h:\book\!c!.txt
  10. )
  11. pause
  12. set a=
  13. set b=
  14. set c=
  15. set num=
复制代码
本人刚接触,如果有错误,请告之,非常感谢。

评分

参与人数 1技术 +1 收起 理由
mstsc + 1 谢谢帮助

查看全部评分

 楼主| 发表于 2012-4-10 15:00:33 | 显示全部楼层
回复 2# gawk


    谢谢
 楼主| 发表于 2012-4-10 15:00:55 | 显示全部楼层
回复 3# apang


    谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 02:09 , Processed in 0.019894 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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