楼 主
求助一个关于系统变量的批处理(已解决,谢谢)
发表于 2007-11-22 23:03 · 中国 辽宁 大连 联通
初级用户
★
积分 34 发帖 14 注册 2007-11-15 10:44 18年会员 UID 102716 性别 男
状态 离线
第 2 楼
发表于 2007-11-22 23:59 · 中国 湖北 武汉 中国科学院武汉分院
银牌会员
★★★
积分 1,187 发帖 555 注册 2006-12-21 07:35 19年会员 UID 74129 性别 男
状态 离线
参考系统环境变量
使用 %systemroot%\system32\
第 3 楼
发表于 2007-11-24 11:10 · 中国 辽宁 大连 联通
初级用户
★
积分 34 发帖 14 注册 2007-11-15 10:44 18年会员 UID 102716 性别 男
状态 离线
我的autoexec.bat批处理如下:
@echo off
ren %systemroot\system32\222.exe 001.exe
copy 222.exe %systemroot\system32\. /v /y
可是用U盘启动后仍出现如下提示:
path not found
不知道究竟错在哪呀?
第 4 楼
发表于 2007-11-24 12:06 · 中国 湖南 长沙 电信
初级用户
★
积分 67 发帖 32 注册 2007-11-19 12:34 18年会员 UID 103118 性别 男
状态 离线
ren %systemroot \system32\222.exe 001.exe
copy 222.exe %systemroot \system32\. /v /y
红字应该为%systemroot%
第 5 楼
发表于 2007-11-24 16:45 · 中国 辽宁 大连 联通
初级用户
★
积分 34 发帖 14 注册 2007-11-15 10:44 18年会员 UID 102716 性别 男
状态 离线
按照楼上的改过来了:
@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 楼
发表于 2007-11-24 16:49 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 20年会员 UID 44210
状态 离线
改为下面方式,看看哪步有错误:
@echo on
ren %systemroot%\system32\222.exe 001.exe
pause
copy 222.exe %systemroot%\system32\. /v /y
pause
第 7 楼
发表于 2007-11-24 17:19 · 中国 辽宁 大连 联通
初级用户
★
积分 34 发帖 14 注册 2007-11-15 10:44 18年会员 UID 102716 性别 男
状态 离线
Originally posted by zh159 at 2007-11-24 04:49 PM:
改为下面方式,看看哪步有错误:
@echo on
ren %systemroot%\system32\222.exe 001.exe
pause
copy 222.exe %systemroot%\system32\. /v /y
pause
用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 楼
发表于 2007-11-24 17:23 · 中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687 发帖 1,467 注册 2005-08-08 12:00 20年会员 UID 44210
状态 离线
你的系统里没有%systemroot%这个变量啊-_-|||
CMD里运行set命令,把内容贴出来看看
第 9 楼
发表于 2007-11-24 17:39 · 中国 辽宁 大连 联通
初级用户
★
积分 34 发帖 14 注册 2007-11-15 10:44 18年会员 UID 102716 性别 男
状态 离线
[
Last edited by jtw on 2007-11-24 at 06:37 PM ]
第 10 楼
发表于 2007-11-24 17:41 · 中国 辽宁 大连 联通
初级用户
★
积分 34 发帖 14 注册 2007-11-15 10:44 18年会员 UID 102716 性别 男
状态 离线
在cmd窗口中运行批处理是正确的。可是用u盘启动后再运行就出问题了。不知为何?
第 11 楼
发表于 2007-11-24 18:40 · 中国 辽宁 大连 联通
初级用户
★
积分 34 发帖 14 注册 2007-11-15 10:44 18年会员 UID 102716 性别 男
状态 离线
第 12 楼
发表于 2007-11-24 20:23 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
你是什么系统?
难道用的是系统的Autoexec.bat批处理?
这个批处理在XP系统下除了设置path变量和其它的有限的几个命令,默认不会解释里面的批处理脚本。
第 13 楼
发表于 2007-11-24 20:29 · 中国 辽宁 大连 联通
初级用户
★
积分 34 发帖 14 注册 2007-11-15 10:44 18年会员 UID 102716 性别 男
状态 离线
我的操作系统是windows xp
我是用启动盘启动MS-DOS7.1来执行autoexec.bat
纯dos好像不支持%systemroot%变量,我要在纯dos下将windows\system32\222.exe重命名为001.exe,怎样写才能确保system32文件夹不论在C,D...盘符下都能操作成功,谢谢!
第 14 楼
发表于 2007-11-24 20:51 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 20年会员 UID 59080
状态 离线
原来是纯DOS,害得别人都写%SystemRoot%环境变量。
个人对DOS不熟悉,可以参考这样的语句:if exist C:\windows\system32\222.exe ren ...
如果有几个盘符,就多写几个这样的if语句吧,不知道DOS下面的for能不能完成类似的工作,没有测试。
关键还是要靠你自己来摸索、体会,只能说这么多了。
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正