![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 15:15 |
共 48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助一个关于系统变量的批处理(已解决,谢谢) |
| 可打印版本 917 / 13 |
| 第1楼 jtw | 发表于 2007-11-22 23:03 |
| 初级用户 发帖 14 积分 34 | |
|
求助一个关于系统变量的批处理(已解决,谢谢) ─────────────────── 版务记录 ──────────────────── 执行:lxmxn 标题:求助一个批处理 说明:因标题表述过于模糊,不便于论坛的搜索和管理,请在三日内修改标题,否则扣除2点积分 参考:http://www.cn-dos.net/forum/viewthread.php?tid=7326&fpage=1 http://www.cn-dos.net/forum/viewthread.php?tid=1415 ─────────────────── 版务记录 ──────────────────── 这个批处理应该怎么写,请高手指教。 用U盘启动电脑,将windows下system32文件夹中的222.exe改名为001.exe备份;然后拷贝U盘中的222.exe到windows下的system32文件夹中。问题是在有的电脑U盘启动后windows\system32直接位于C盘根目录下,而有的电脑却位于D盘根目录下。怎样写一个批处理,能确保在盘符变化的情况下完成以上操作。谢谢! [ Last edited by jtw on 2007-11-24 at 09:29 PM ] |
|
| 第2楼 scriptor | 发表于 2007-11-22 23:59 |
| 银牌会员 发帖 555 积分 1,187 | |
|
参考系统环境变量
使用 %systemroot%\system32\ |
|
| 第3楼 jtw | 发表于 2007-11-24 11:10 |
| 初级用户 发帖 14 积分 34 | |
|
我的autoexec.bat批处理如下:
@echo off ren %systemroot\system32\222.exe 001.exe copy 222.exe %systemroot\system32\. /v /y 可是用U盘启动后仍出现如下提示: path not found 不知道究竟错在哪呀? |
|
| 第4楼 upsco | 发表于 2007-11-24 12:06 |
| 初级用户 发帖 32 积分 67 | |
|
ren %systemroot\system32\222.exe 001.exe
copy 222.exe %systemroot\system32\. /v /y 红字应该为%systemroot% |
|
| 第5楼 jtw | 发表于 2007-11-24 16:45 |
| 初级用户 发帖 14 积分 34 | |
|
按照楼上的改过来了:
@echo off ren %systemroot%\system32\222.exe 001.exe copy 222.exe %systemroot%\system32\. /v /y 可是用U盘启动执行后,仍然提示path not found,为什么呀? 用什么命令能准确地定位系统文件所在的盘符? [ Last edited by jtw on 2007-11-24 at 04:49 PM ] |
|
| 第6楼 zh159 | 发表于 2007-11-24 16:49 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
改为下面方式,看看哪步有错误:
|
|
| 第7楼 jtw | 发表于 2007-11-24 17:19 |
| 初级用户 发帖 14 积分 34 | |
Originally posted by zh159 at 2007-11-24 04:49 PM: 用U盘启动后,屏幕提示如下: a:\>ren \system32\222.exe 001.exe path not found a:\>pause press any key to continue... a:\>copy 222.exe \system32\. /v /y path not found 还是没有成功? |
|
| 第8楼 zh159 | 发表于 2007-11-24 17:23 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
你的系统里没有%systemroot%这个变量啊-_-|||
CMD里运行set命令,把内容贴出来看看 |
|
| 第9楼 jtw | 发表于 2007-11-24 17:39 |
| 初级用户 发帖 14 积分 34 | |
![]() [ Last edited by jtw on 2007-11-24 at 06:37 PM ] |
|
| 第10楼 jtw | 发表于 2007-11-24 17:41 |
| 初级用户 发帖 14 积分 34 | |
|
在cmd窗口中运行批处理是正确的。可是用u盘启动后再运行就出问题了。不知为何?
|
|
| 第11楼 jtw | 发表于 2007-11-24 18:40 |
| 初级用户 发帖 14 积分 34 | |
|
难道没人能解决这个问题吗?
|
|
| 第12楼 lxmxn | 发表于 2007-11-24 20:23 |
| 版主 发帖 4,938 积分 11,386 | |
|
你是什么系统?
难道用的是系统的Autoexec.bat批处理? 这个批处理在XP系统下除了设置path变量和其它的有限的几个命令,默认不会解释里面的批处理脚本。 |
|
| 第13楼 jtw | 发表于 2007-11-24 20:29 |
| 初级用户 发帖 14 积分 34 | |
|
我的操作系统是windows xp
我是用启动盘启动MS-DOS7.1来执行autoexec.bat 纯dos好像不支持%systemroot%变量,我要在纯dos下将windows\system32\222.exe重命名为001.exe,怎样写才能确保system32文件夹不论在C,D...盘符下都能操作成功,谢谢! |
|
| 第14楼 lxmxn | 发表于 2007-11-24 20:51 |
| 版主 发帖 4,938 积分 11,386 | |
|
原来是纯DOS,害得别人都写%SystemRoot%环境变量。
个人对DOS不熟悉,可以参考这样的语句:if exist C:\windows\system32\222.exe ren ... 如果有几个盘符,就多写几个这样的if语句吧,不知道DOS下面的for能不能完成类似的工作,没有测试。 关键还是要靠你自己来摸索、体会,只能说这么多了。 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |