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

[文件操作] 【已结】<"%~f0" more 6 >tmp.vbs是什么意思?

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

[ 本帖最后由 lzwudi 于 2008-10-11 20:45 编辑 ]
帮助别人是快乐
被人帮助是幸福

%~0 代表批处理自身(不含首尾的引号),%~f0 包含自身所在的完整路径。
more +6 就是跳过自身内容中的前六行,把剩下的内容输出到tmp.vbs中。
more +6 <"%~f0" 与<"%~f0" more +6、more +6 "%~f0" 完全是等效的。
<或>在一条命令中的位置没有严格的规定。
>输出重定向,把命令的结果输出到tmp.vbs,并覆盖tmp.vbs中原有的内容。
>> 则代表追加,不覆盖原有内容。
关于more与%0的更多信息参照more /?&call /?
心绪平和,眼藏静谧。

TOP

试一下,这样就更明白了。

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

TOP

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

[ 本帖最后由 lzwudi 于 2008-10-11 23:50 编辑 ]
帮助别人是快乐
被人帮助是幸福

TOP

"%~f0"是一种保险的做法。因为%0在某些情况下不包含自身的路径,仅是自身文件名或文件名+扩展名。
心绪平和,眼藏静谧。

TOP

恩,谢谢版主您的提醒!!
帮助别人是快乐
被人帮助是幸福

TOP

学习学习,偶也有收获咯

TOP

返回列表