Board logo

标题: [文件操作] 【已结】<"%~f0" more 6 >tmp.vbs是什么意思? [打印本页]

作者: lzwudi    时间: 2008-10-11 18:48     标题: 【已结】<"%~f0" more 6 >tmp.vbs是什么意思?

  1. <"%~f0" more +6 >tmp.vbs
复制代码

[ 本帖最后由 lzwudi 于 2008-10-11 20:45 编辑 ]
作者: pusofalse    时间: 2008-10-11 21:02

%~0 代表批处理自身(不含首尾的引号),%~f0 包含自身所在的完整路径。
more +6 就是跳过自身内容中的前六行,把剩下的内容输出到tmp.vbs中。
more +6 <"%~f0" 与<"%~f0" more +6、more +6 "%~f0" 完全是等效的。
<或>在一条命令中的位置没有严格的规定。
>输出重定向,把命令的结果输出到tmp.vbs,并覆盖tmp.vbs中原有的内容。
>> 则代表追加,不覆盖原有内容。
关于more与%0的更多信息参照more /?&call /?
作者: wxcute    时间: 2008-10-11 21:11     标题: 试一下,这样就更明白了。

  1. @echo off
  2. <"%~f0" more +6>tmp.txt
  3. type tmp.txt
  4. pause>nul
  5. goto :eof
  6. 第六行
  7. 第七行
  8. 怎么样?
  9. 明白了吗?
复制代码

作者: lzwudi    时间: 2008-10-11 23:43

终于明白了,谢谢各位!!
也就是说下面的不加~f也行吧?
  1. @echo off
  2. more +6 %0>tmp.txt
  3. ::本行不输出
  4. ::本行不输出
  5. ::本行不输出
  6. ::本行不输出
  7. ::本行输出
复制代码

[ 本帖最后由 lzwudi 于 2008-10-11 23:50 编辑 ]
作者: pusofalse    时间: 2008-10-11 23:58

"%~f0"是一种保险的做法。因为%0在某些情况下不包含自身的路径,仅是自身文件名或文件名+扩展名。
作者: lzwudi    时间: 2008-10-15 14:16

恩,谢谢版主您的提醒!!
作者: steven007    时间: 2009-1-12 14:43

学习学习,偶也有收获咯




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2