中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]路径输出和内容替换问题~麻烦各位大哥
« [1] [2] »
作者:
标题: [求助]路径输出和内容替换问题~麻烦各位大哥 上一主题 | 下一主题
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『楼 主』:  [求助]路径输出和内容替换问题~麻烦各位大哥

使用 echo %cd% >lujing.txt 后,lujing.txt的内容为“C:\Documents and Settings\Administrator\桌面”  ,我想让它的输出内容变成“C:\\Documents and Settings\\Administrator\\桌面”应该怎么做,如果上一步实现后我想把输出后的内容替换掉注册表文件lujing.reg中的"c:\\ak4\\p",又该怎么做
   谢谢~!!

2007-12-4 19:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 2 楼』:  

搜索 “替换”

2007-12-4 19:44
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『第 3 楼』:  

通过搜索把一步做出来了  
代码如下:
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 ]

2007-12-4 20:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 4 楼』:  

@echo off
for /F "tokens=1,2 ,3delims=\" %%i in ('echo %%cd%%') do echo %%i\\%%j\\%%k
pause>nul

2007-12-4 20:23
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『第 5 楼』:  

楼上的运行后出现“此时不应有 ,3delims=\"。”的错误  并且没有任何结果

2007-12-4 20:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 6 楼』:  

少个空格
@echo off
for /F "tokens=1,2,3 delims=\" %%i in ('echo %%cd%%') do echo %%i\\%%j\\%%k
pause>nul

2007-12-4 20:44
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『第 7 楼』:  

输出结果不完全,比如我在桌面运行的话 结果是 C:\\Documents and Settings\\Administrator     改成tokens=1,2,3,4  %%i\\%%j\\%%k\\%%l 才能输出正确值,这么的话不具有通用性  呵呵      现在主要是把我提问题的第2步给解决了
  不过还是非常感谢huahua0919  谢谢~~~

2007-12-4 20:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 8 楼』:  

第一步:echo %cd:\=\\%

2007-12-4 21:14
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『第 9 楼』:  

哇靠  精简的就是爽~~    谢谢ABCD      能不能告诉我第2步怎么做啊

2007-12-4 21:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 10 楼』:  

第二步是替换lujing.reg里面的“c:\\ak4\\p”为什么?

最好能给个lujing.reg的样本、

2007-12-4 21:26
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『第 11 楼』:  

lujing.reg如下:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{1C7593CB-C1CC-4BA7-BE52-8EEA47F9CB1D}\InprocServer32]
@="C:\\ak4\\p\\t.dll"

2007-12-4 21:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 12 楼』:  

@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 ]

2007-12-4 21:34
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『第 13 楼』:  

还是不好用啊~~  晕~~

[ Last edited by w1314ich on 2007-12-4 at 11:04 PM ]

2007-12-4 21:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
w1314ich
中级用户





积分 234
发帖 119
注册 2007-4-22
状态 离线
『第 14 楼』:  

谁来帮帮我解决第二步啊  等了一个晚上了~~~~~~~~~~

2007-12-4 23:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 15 楼』:  

@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 ]



简单!简单!再简单!
2007-12-4 23:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: