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

[文本处理] [已解决]如何用批处理补充完整文件的路径?

本帖最后由 batpro 于 2011-6-21 19:59 编辑

1.txt中
  1. system32\drivers\hfuyt.sys
  2. system32\drivers\vxwuk.sys
  3. system32\drivers\wakw.sys
复制代码
怎样才能生成 2.txt
  1. C:\WINDOWS\system32\drivers\hfuyt.sys
  2. C:\WINDOWS\system32\drivers\vxwuk.sys
  3. C:\WINDOWS\system32\drivers\wakw.sys
复制代码
我用下列代码:
  1. cd.>2.txt
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%i in (1.txt) do (
  4. set var=%%i
  5. set "var=!var:system32\drivers\=%C:\WINDOWS\system32\drivers\!"
  6. echo !var!>>2.txt
  7. )
复制代码
得到的结果系统盘符"C"确不见了?
1

评分人数

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

set "var=!var:system32\drivers\=%C:\WINDOWS\system32\drivers\!"
改为
set "var=!var:system32\drivers\=C:\WINDOWS\system32\drivers\!"
问题可以解决
更简单的办法:
  1. (for /f "tokens=*" %%i in (1.txt) do (echo C:\WINDOWS\%%i))>2.txt
复制代码
天的白色影子

TOP

更简单的办法:
(for /f "tokens=*" %%i in (1.txt) d ...
qzwqzw 发表于 2011-6-17 17:39

也许文本里还有不是 system32\drivers 开头的路径。

TOP

3# tmplinshi


嗯 ,你猜对了  谢谢大家

TOP

  1. @echo off
  2. cd.>2.txt
  3. setlocal enabledelayedexpansion
  4. for /f "tokens=*" %%i in (1.txt) do (
  5. set var=%%i
  6. set "var=!var:system32\drivers\=C:\WINDOWS\system32\drivers\!"
  7. echo !var!>>2.txt
  8. )
  9. pause>nul
复制代码
你的代码多了个%,所以导致出错。

TOP

  1. (for /f "tokens=*" %%i in (1.txt) do (echo %windir%\%%i))>2.txt
复制代码
也行

TOP

3# tmplinshi
那只能怪楼主的示例和代码具有误导性了

题外话
似乎这一类请求帮助修改代码的帖子应该有个独立的分类或者提示吧?
从标题里看还以为楼主不知道如何补完呢
天的白色影子

TOP

本帖最后由 mxxcgzxxx 于 2011-6-18 13:06 编辑

有个小问题?文本内的文件目录是本机上确实存在的吗?
如果是就很好办,如果不是就有一些其他问题?
比如 c:\system 和c:\windows\system就是两码子事了
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

5# Hello123World


感谢您

TOP

返回列表