标题: 如何读取txt文件中的路径,并作为变量在其它语句中使用
[打印本页]
作者: emote
时间: 2007-5-27 21:10
标题: 如何读取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 ]
作者: lxmxn
时间: 2007-5-27 21:24
@echo off
set /p dpath=<c:\load.txt
format /q c:
start "" "%dpath%.\urfiletoexec"
Last edited by lxmxn on 2007-5-27 at 10:09 PM ]
作者: emote
时间: 2007-5-27 21:58
如果我是调用路径下的一个批处理,那么最后一行该怎么改
start "%dpath%.\urfiletoexec" ?
另外一个问题是我用!cd!来获取当前路径, 以便调用该路径下的文件; 可是在Windows下所获取的这个路径可能包含长名目录或者目录中间有空格什么,一旦
到DOS下,这个路径将不能用,有什么办法可以把获取的路径直接转成以8.3
的形式?
作者: lxmxn
时间: 2007-5-27 22:12
你是要在DOS下面来运行?
这个恐怕不行,DOS下面很多cmd的扩展都没有。
Last edited by lxmxn on 2007-5-28 at 08:14 PM ]
作者: emote
时间: 2007-5-28 07:38
我的思路是先在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 ]
作者: emote
时间: 2007-5-28 19:15
版主和各位大侠帮帮忙啊,最好能给个较完整的代码,我刚学批处理讲的太简单怕我看不明白。先先谢过了!
作者: lxmxn
时间: 2007-5-28 21:50
在DOS下面读取文件的内容还不是很熟悉具体的操作,有时间试试。
对于DOS中支持长文件名,可以用DOSLFN,在论坛搜索一下。