标题: [文本处理] [已解决]如何用批处理补充完整文件的路径? [打印本页]
作者: batpro 时间: 2011-6-17 17:31 标题: [已解决]如何用批处理补充完整文件的路径?
本帖最后由 batpro 于 2011-6-21 19:59 编辑
1.txt中- system32\drivers\hfuyt.sys
- system32\drivers\vxwuk.sys
- system32\drivers\wakw.sys
复制代码
怎样才能生成 2.txt- C:\WINDOWS\system32\drivers\hfuyt.sys
- C:\WINDOWS\system32\drivers\vxwuk.sys
- C:\WINDOWS\system32\drivers\wakw.sys
复制代码
我用下列代码:- cd.>2.txt
- setlocal enabledelayedexpansion
- for /f "tokens=*" %%i in (1.txt) do (
- set var=%%i
- set "var=!var:system32\drivers\=%C:\WINDOWS\system32\drivers\!"
- echo !var!>>2.txt
- )
复制代码
得到的结果系统盘符"C"确不见了?
作者: qzwqzw 时间: 2011-6-17 17:39
set "var=!var:system32\drivers\=%C:\WINDOWS\system32\drivers\!"
改为
set "var=!var:system32\drivers\=C:\WINDOWS\system32\drivers\!"
问题可以解决
更简单的办法:- (for /f "tokens=*" %%i in (1.txt) do (echo C:\WINDOWS\%%i))>2.txt
复制代码
作者: tmplinshi 时间: 2011-6-17 17:43
更简单的办法:
(for /f "tokens=*" %%i in (1.txt) d ...
qzwqzw 发表于 2011-6-17 17:39
也许文本里还有不是 system32\drivers 开头的路径。
作者: batpro 时间: 2011-6-17 17:52
3# tmplinshi
嗯 ,你猜对了 谢谢大家
作者: Hello123World 时间: 2011-6-17 21:04
- @echo off
- cd.>2.txt
- setlocal enabledelayedexpansion
- for /f "tokens=*" %%i in (1.txt) do (
- set var=%%i
- set "var=!var:system32\drivers\=C:\WINDOWS\system32\drivers\!"
- echo !var!>>2.txt
- )
- pause>nul
复制代码
你的代码多了个%,所以导致出错。
作者: Hello123World 时间: 2011-6-17 21:05
- (for /f "tokens=*" %%i in (1.txt) do (echo %windir%\%%i))>2.txt
复制代码
也行
作者: qzwqzw 时间: 2011-6-18 10:06
3# tmplinshi
那只能怪楼主的示例和代码具有误导性了
题外话
似乎这一类请求帮助修改代码的帖子应该有个独立的分类或者提示吧?
从标题里看还以为楼主不知道如何补完呢
作者: mxxcgzxxx 时间: 2011-6-18 13:04
本帖最后由 mxxcgzxxx 于 2011-6-18 13:06 编辑
有个小问题?文本内的文件目录是本机上确实存在的吗?
如果是就很好办,如果不是就有一些其他问题?
比如 c:\system 和c:\windows\system就是两码子事了
作者: batpro 时间: 2011-6-21 19:33
5# Hello123World
感谢您
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |