![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 18:25 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何读取txt文件中的路径,并作为变量在其它语句中使用 |
| 可打印版本 1,340 / 6 |
| 第1楼 emote | 发表于 2007-05-27 21:10 |
| 初级用户 发帖 41 积分 114 | |
|
如何读取txt文件中的路径,并作为变量在其它语句中使用 在c盘下有个load.txt文件,内有一行文字(路径):
d:\test\path\mytool 要求如下: 1. 用批处理读取这行文字取得路径,并赋值给某个变量 2.格式化C盘(此时load文件也没了) 3.运行刚才所读取路径下的某个文件 具体例子如下: 在A盘有个autoexec.bat文件,其内容中下 ---------------------------------------------------------------- @ECHO OFF smartdrv.exe call c:\load.bat Rem load.bat存放于c盘,其内容是路径设置,如 path=d:\test\path\mytool Rem 这个路径是随机生成的位置不是固定 format c: /q/s/autotest call set.bat Rem set.bat就存放于d:\test\path\mytool之下 ----------------------------------------------------------------- 问题是最后一步call set.bat执行时总提示错误的命令或文件不存在,可是 我以已设置路径了呀? 另外是我用!cd!来获取当前路径,这个路径可能包含长文件名或目录,一旦 到DOS下,这个路径将不能用,有什么办法可以把获取的路径直接转成以8.3 的形式? [ Last edited by emote on 2007-5-27 at 09:39 PM ] |
|
| 第2楼 lxmxn | 发表于 2007-05-27 21:24 |
| 版主 发帖 4,938 积分 11,386 | |
|
[ Last edited by lxmxn on 2007-5-27 at 10:09 PM ] |
|
| 第3楼 emote | 发表于 2007-05-27 21:58 |
| 初级用户 发帖 41 积分 114 | |
|
如果我是调用路径下的一个批处理,那么最后一行该怎么改
start "%dpath%.\urfiletoexec" ? 另外一个问题是我用!cd!来获取当前路径, 以便调用该路径下的文件; 可是在Windows下所获取的这个路径可能包含长名目录或者目录中间有空格什么,一旦 到DOS下,这个路径将不能用,有什么办法可以把获取的路径直接转成以8.3 的形式? |
|
| 第4楼 lxmxn | 发表于 2007-05-27 22:12 |
| 版主 发帖 4,938 积分 11,386 | |
|
你是要在DOS下面来运行?
这个恐怕不行,DOS下面很多cmd的扩展都没有。 [ Last edited by lxmxn on 2007-5-28 at 08:14 PM ] |
|
| 第5楼 emote | 发表于 2007-05-28 07:38 |
| 初级用户 发帖 41 积分 114 | |
|
我的思路是先在windows下用!cd!获取xp安装文件所在路径,并把这个路径输出到
c:\load.txt中保存;之后系统开始自动重启进入DOS模式,并调用load.txt根据里面的信息设置XP安装文件的path(当前路径是A盘);设置完成后C盘就会自动格式化;格式化完后要自动调用xp安装文件夹下的一个批处理文件开始xp安装. 我原本在a盘的autoexec.bat文件里设置如下的批处理: ---------------------------------------------------------------- @ECHO OFF smartdrv.exe call c:\load.bat Rem load.bat中保存着xp安装文件的路径信息,内容为path=***** format c: /q/s/autotest call set.bat Rem set.bat就是所设置路径下面的一个批处理文件(当前盘是A盘) ----------------------------------------------------------------- 但提示找不到set.bat 还有一个上述的文件或目录名可能太长的问题是不是只要在DOS中增加长文件名支持的相关程序就行? [ Last edited by emote on 2007-5-28 at 07:45 AM ] |
|
| 第6楼 emote | 发表于 2007-05-28 19:15 |
| 初级用户 发帖 41 积分 114 | |
|
版主和各位大侠帮帮忙啊,最好能给个较完整的代码,我刚学批处理讲的太简单怕我看不明白。先先谢过了!
|
|
| 第7楼 lxmxn | 发表于 2007-05-28 21:50 |
| 版主 发帖 4,938 积分 11,386 | |
|
在DOS下面读取文件的内容还不是很熟悉具体的操作,有时间试试。
对于DOS中支持长文件名,可以用DOSLFN,在论坛搜索一下。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |