![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 10:46 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 用批处理,获取当前用户名,然后替换文件中的字符? |
| 可打印版本 1,411 / 11 |
| 第1楼 ygqiang | 发表于 2010-04-17 07:30 |
| 新手上路 发帖 13 积分 13 | |
|
用批处理,获取当前用户名,然后替换文件中的字符? 请教:如何用dos批处理,获取当前xp系统用户名,然后替换MirrorDir.ini文件中的administrator?
现在知道的命令有: echo %username% 显示当前用户名 echo %username%>a.txt 将显示结果添加到a.txt中 但如何用批处理,将xp系统当前用户名,替换MirrorDir.ini文件中的administrator呢? 要求:只要一运行批处理文件,就可以马上修改MirrorDir.ini文件。 不想用别的软件实现,多谢。 MirrorDir.ini文件文件内容如下: LastTask=0 MainDir=C:\Documents and Settings\Administrator\桌面 ImageDir=d:\0beifen MainDirHistory=C:\Documents and Settings\Administrator\桌面 ImageDirHistory=d:\0beifen Excludes= StartupRun=1 DeleteOthers=1 [ Last edited by ygqiang on 2010-4-17 at 07:41 ] |
|
| 第2楼 ygqiang | 发表于 2010-04-17 07:40 |
| 新手上路 发帖 13 积分 13 | |
|
我建立了一个批处理文件0.bat,内容如下:
md d:\0beifen echo [CommonSetting]>MirrorDir.ini echo LastTask=0>>MirrorDir.ini echo [新任务1]>>MirrorDir.ini echo MainDir=%userprofile%\桌面>>MirrorDir.ini echo ImageDir=d:\0beifen>>MirrorDir.ini echo MainDirHistory=%userprofile%\桌面>>MirrorDir.ini echo ImageDirHistory=d:\0beifen>>MirrorDir.ini echo Excludes=>>MirrorDir.ini echo StartupRun=1>>MirrorDir.ini echo DeleteOthers=1>>MirrorDir.ini 但处理完以后,MirrorDir.ini内容显示如下,不太正确啊 [CommonSetting] [新任务1] MainDir=C:\Documents and Settings\Administrator\桌面 ImageDir=d:\0beifen MainDirHistory=C:\Documents and Settings\Administrator\桌面 ImageDirHistory=d:\0beifen Excludes= StartupRun= DeleteOthers= |
|
| 第3楼 ygqiang | 发表于 2010-04-17 07:41 |
| 新手上路 发帖 13 积分 13 | |
|
主要是:
StartupRun= DeleteOthers= 这2个地方,后面的1没有添加上。 好像这个echo命令,无法将数字1添加到文件里? [ Last edited by ygqiang on 2010-4-17 at 07:45 ] |
|
| 第4楼 ygqiang | 发表于 2010-04-17 07:46 |
| 新手上路 发帖 13 积分 13 | |
|
而且我使用的方法,有点复杂了。
没有别的简单的方法了吗? |
|
| 第5楼 ygqiang | 发表于 2010-04-17 15:58 |
| 新手上路 发帖 13 积分 13 | |
|
各位,没有解决方法了吗?
多谢啊 |
|
| 第6楼 Hanyeguxing | 发表于 2010-04-17 16:15 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
[ Last edited by Hanyeguxing on 2010-4-17 at 16:16 ] |
|
| 第7楼 Hanyeguxing | 发表于 2010-04-17 16:20 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
或者
再或者直接使用第三方命令如sed或fr等,例如 [ Last edited by Hanyeguxing on 2010-4-17 at 16:25 ] |
|
| 第8楼 ygqiang | 发表于 2010-04-17 21:12 |
| 新手上路 发帖 13 积分 13 | |
|
多谢楼上。
我的那个方法,已经找到解决方法了。 echo [CommonSetting]>MirrorDir.ini echo LastTask=0>>MirrorDir.ini echo [新任务1]>>MirrorDir.ini echo MainDir=%userprofile%\桌面>>MirrorDir.ini echo ImageDir=d:\0beifen>>MirrorDir.ini echo MainDirHistory=%userprofile%\桌面>>MirrorDir.ini echo ImageDirHistory=d:\0beifen>>MirrorDir.ini echo Excludes=>>MirrorDir.ini echo StartupRun=1 1>>MirrorDir.ini echo DeleteOthers=1 1>>MirrorDir.ini |
|
| 第9楼 Hanyeguxing | 发表于 2010-04-17 21:47 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
echo DeleteOthers=1 1>>MirrorDir.ini
写成 >>MirrorDir.ini echo DeleteOthers=1 |
|
| 第10楼 ygqiang | 发表于 2010-04-17 21:57 |
| 新手上路 发帖 13 积分 13 | |
|
多谢楼上。
我试过了。 echo DeleteOthers=1 1>>MirrorDir.ini 写成 >>MirrorDir.ini echo DeleteOthers=1 这2个,实际使用效果是一样的。不需要修改。 |
|
| 第11楼 ygqiang | 发表于 2010-04-17 21:58 |
| 新手上路 发帖 13 积分 13 | |
|
这是我最终想要的软件:桌面文件定时备份
|
|
| 第12楼 Hanyeguxing | 发表于 2010-04-18 00:48 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
1,echo.%var%>>a.txt这样写时,要%var%中最后一个字符不能是数字
2,所以加空格如echo.%var% >>a.txt来解决,但这样会造成每行最后面有一个空格 3,>>a.txt echo.%var%这样即不用担心%var%最后一个字符是否是数字,行后也不会多出空格 4,你的echo.%var% 1>>a.txt实际就是echo.%var% >>a.txt |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |