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

[文本处理] [已解决]批处理提取文件第一行的set命令怎样理解?

本帖最后由 surup 于 2011-10-22 20:41 编辑
  1. @echo off
  2. set /p str=<%0
  3. echo %str%
  4. pause
复制代码
第二行怎么分析? str=<是什么意思?  是固定的组合还是令有作用?

http://bbs.bathome.net/viewthread.php?tid=3774#pid23888
该帖也指出接收文件的首行 其中%0代表批处理的全称,包括驱动器盘符、路径、文件名和扩展类型。可以调用批处理本身,达到批处理本身循环的目的。也可以复制文件自身。
(1)复制文件自身
  1. copy %0 d:\win.bat
复制代码
(2)返回批处理所在的绝对路径
  1. @echo off
  2. echo %0
  3. pause
复制代码
(3)无限循环批处理
  1. @echo off
  2. net user
  3. %0
复制代码
我想明白的是 %0什么时候用于文件名 什么时候用于路径 什么时候用于文件内容
如果通用的话 为什么set /p str=<%0 不提取路径?
::我也不知道怎么解释,希望你们能看明白。
1

评分人数

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

%0从来只表示路径。
set /p str=<%0 是因为有一个重定向输入符号(<),它从某个指定路径的文件中读取内容。
%0只是一个指代,你把它替换成你的脚本文件路径就好理解了。比如你叫张三,我和你说话,“你”这个词就是指你张三。
1

评分人数

    • surup: 顺带弄明白了技术 + 1

TOP

回复 2# powerbat


    嗯嗯 懂了!

TOP

回复 2# powerbat

"比如你叫张三,我和你说话,“你”这个词就是指你张三"
还是有点不怎么明白

TOP

返回列表