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

[文本处理] [已解决]批处理的@shift作用是什么?

用Quick Batch File Compiler制作的EXE后,在临时文件夹里找到了BAT的源码,但是查看代码的时候发现在源代码最前头多了一行@shift,请问这行是什么意思,最重要的是,在@shift之下,del %0这行删除自身的代码就变成无效了,我加上pause查看的时候,del %0这行代码显示的是“命令语法不正确”。请高手们帮我解答下。

我想知道的是,①为什么Quick Batch File Compiler生成的EXE里的BAT代码会多了一行@shift在前面?[email=②@shift]② @shift[/email]是有什么作用?③为什么有了@shift之后del %0这行命令会提示命令语法错误?

[ 本帖最后由 summerday 于 2011-3-1 02:26 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

最后一行:
  1. start cmd /c del /f /a /q "%~f0"
复制代码
1

评分人数

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

TOP

shift 是参数移位,运行后 %0  以不存在,del 后面没有了文件名,当然就提示语法错误了
话说以前还真没注意过这个问题
技术问题请到论坛发帖求助!

TOP

原帖由 wc726842270 于 2011-2-28 17:04 发表
确实0%这种用法我也没见过。不过LZ是不是写错了,是%0吧!·!!!另外LZ的标题于内容差距很大啊


是%0,呵呵,是我在这里写错了,但是真的是在前面加上@shift之后del %0就是提示命令语法错误。
标题和内容有什么问题吗?我想知道的是,①为什么Quick Batch File Compiler生成的EXE里的BAT代码会多了一行@shift在前面?[email=②@shift]② @shift[/email]是有什么作用?③为什么有了@shift之后del %0这行命令会提示命令语法错误?

TOP

确实0%这种用法我也没见过。不过LZ是不是写错了,是%0吧!·!!!另外LZ的标题于内容差距很大啊
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

返回列表