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

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

[复制链接]
发表于 2011-10-20 14:30:38 | 显示全部楼层 |阅读模式
本帖最后由 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 不提取路径?
::我也不知道怎么解释,希望你们能看明白。

评分

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

查看全部评分

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

评分

参与人数 1技术 +1 收起 理由
surup + 1 顺带弄明白了

查看全部评分

 楼主| 发表于 2011-10-21 17:41:48 | 显示全部楼层
回复 2# powerbat


    嗯嗯 懂了!
发表于 2011-10-23 18:20:29 | 显示全部楼层
回复 2# powerbat

"比如你叫张三,我和你说话,“你”这个词就是指你张三"
还是有点不怎么明白
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 04:32 , Processed in 0.017611 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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