![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 19:16 |
共 48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]路径输出和内容替换问题~麻烦各位大哥 |
| 可打印版本 1,590 / 15 |
| 第1楼 w1314ich | 发表于 2007-12-04 19:27 |
| 中级用户 发帖 119 积分 234 | |
|
[求助]路径输出和内容替换问题~麻烦各位大哥 使用 echo %cd% >lujing.txt 后,lujing.txt的内容为“C:\Documents and Settings\Administrator\桌面” ,我想让它的输出内容变成“C:\\Documents and Settings\\Administrator\\桌面”应该怎么做,如果上一步实现后我想把输出后的内容替换掉注册表文件lujing.reg中的"c:\\ak4\\p",又该怎么做
谢谢~!! |
|
| 第2楼 vkill | 发表于 2007-12-04 19:44 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
搜索 “替换”
|
|
| 第3楼 w1314ich | 发表于 2007-12-04 20:08 |
| 中级用户 发帖 119 积分 234 | |
|
通过搜索把一步做出来了
代码如下: echo %cd% >root.txt setlocal enabledelayedexpansion for /f "delims=" %%i in (root.txt) do ( set str=%%i set "str=!str:\=\\!" >root.txt echo !str! ) 但是第2步怎么弄还是不知道 [ Last edited by w1314ich on 2007-12-4 at 08:09 PM ] |
|
| 第4楼 huahua0919 | 发表于 2007-12-04 20:23 |
| 银牌会员 发帖 780 积分 1,608 | |
|
@echo off
for /F "tokens=1,2 ,3delims=\" %%i in ('echo %%cd%%') do echo %%i\\%%j\\%%k pause>nul |
|
| 第5楼 w1314ich | 发表于 2007-12-04 20:39 |
| 中级用户 发帖 119 积分 234 | |
|
楼上的运行后出现“此时不应有 ,3delims=\"。”的错误 并且没有任何结果
|
|
| 第6楼 huahua0919 | 发表于 2007-12-04 20:44 |
| 银牌会员 发帖 780 积分 1,608 | |
|
少个空格
@echo off for /F "tokens=1,2,3 delims=\" %%i in ('echo %%cd%%') do echo %%i\\%%j\\%%k pause>nul |
|
| 第7楼 w1314ich | 发表于 2007-12-04 20:56 |
| 中级用户 发帖 119 积分 234 | |
|
输出结果不完全,比如我在桌面运行的话 结果是 C:\\Documents and Settings\\Administrator 改成tokens=1,2,3,4 %%i\\%%j\\%%k\\%%l 才能输出正确值,这么的话不具有通用性 呵呵 现在主要是把我提问题的第2步给解决了
不过还是非常感谢huahua0919 谢谢~~~ |
|
| 第8楼 abcd | 发表于 2007-12-04 21:14 |
| 银牌会员 发帖 739 积分 1,436 | |
|
第一步:echo %cd:\=\\%
|
|
| 第9楼 w1314ich | 发表于 2007-12-04 21:17 |
| 中级用户 发帖 119 积分 234 | |
|
哇靠 精简的就是爽~~ 谢谢ABCD 能不能告诉我第2步怎么做啊
|
|
| 第10楼 abcd | 发表于 2007-12-04 21:26 |
| 银牌会员 发帖 739 积分 1,436 | |
|
第二步是替换lujing.reg里面的“c:\\ak4\\p”为什么?
最好能给个lujing.reg的样本、 |
|
| 第11楼 w1314ich | 发表于 2007-12-04 21:30 |
| 中级用户 发帖 119 积分 234 | |
|
lujing.reg如下:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{1C7593CB-C1CC-4BA7-BE52-8EEA47F9CB1D}\InprocServer32] @="C:\\ak4\\p\\t.dll" |
|
| 第12楼 abcd | 发表于 2007-12-04 21:34 |
| 银牌会员 发帖 739 积分 1,436 | |
|
@echo off
for /f "tokens=1* delims=:" %%i in ('findstr /n .* lujing.reg') do ( set "str=%%j" call echo %%str:c:\\ak4\\p=%cd:\=\\%%% ) pause [ Last edited by abcd on 2007-12-4 at 09:47 PM ] |
|
| 第13楼 w1314ich | 发表于 2007-12-04 21:43 |
| 中级用户 发帖 119 积分 234 | |
|
还是不好用啊~~ 晕~~
[ Last edited by w1314ich on 2007-12-4 at 11:04 PM ] |
|
| 第14楼 w1314ich | 发表于 2007-12-04 23:10 |
| 中级用户 发帖 119 积分 234 | |
|
谁来帮帮我解决第二步啊 等了一个晚上了~~~~~~~~~~
|
|
| 第15楼 terse | 发表于 2007-12-04 23:48 |
| 银牌会员 发帖 946 积分 2,404 | |
|
@echo off&setlocal enabledelayedexpansion
for %%i in ("%cd%") DO ( set src1=%%i set src1=!src1:\=\\! set src1=!src1:"=! ) for /f "delims=" %%i in (lujing.reg) DO ( set src2=%%i set src2=!src2:c:\\ak4\\p=%src1%! echo\!src2! ) pause 少个\ 加上 ABCD的也应该好用的嘛!试试! @echo off&setlocal enabledelayedexpansion for /f "tokens=1* delims=:" %%i in ('findstr /n .* lujing.reg') do ( set "str=%%j" if not "!str!"=="" set "str=!str:c:\\ak4\\p=%cd:\=\\%!" echo\!str!>>lujing2.reg ) move /y "lujing2.reg" "lujing.reg" 2>NUL pause [ Last edited by terse on 2007-12-5 at 12:24 AM ] |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |