DOS批处理文件的当前目录问题
2013-12-11 18:57
232 查看
昨天安装ClearCase的时候遇到的一个问题。
安装过程中需要执行一个批处理文件:
这个批处理的目的是把这个批处理所在目录里的所有dll文件复制到一个特定目录,然后注册一下。
由于是在win8系统,有权限控制,直接双击执行不了,于是右键以管理员身份执行了一下,结果发生了一件糟糕的事情。该脚本将我“C:\Windows\system32”目录下的dll文件全部复制了过去。原来当以管理员身份执行的时候,命令的执行路径变为了“C:\Windows\system32”。
脚本中的
安装过程中需要执行一个批处理文件:
xcopy /s/d/y/r "%cd%\*.dll" "C:\Program Files\Common Files\Rational\ClearCase\CCVSI\bin\" regsvr32 "C:\Program Files\Common Files\Rational\ClearCase\CCVSI\bin\ActivityGridContainer.dll" regsvr32 "C:\Program Files\Common Files\Rational\ClearCase\CCVSI\bin\ActivityWkspcContainer.dll" regsvr32 "C:\Program Files\Common Files\Rational\ClearCase\CCVSI\bin\CQPackage.dll" pause
这个批处理的目的是把这个批处理所在目录里的所有dll文件复制到一个特定目录,然后注册一下。
由于是在win8系统,有权限控制,直接双击执行不了,于是右键以管理员身份执行了一下,结果发生了一件糟糕的事情。该脚本将我“C:\Windows\system32”目录下的dll文件全部复制了过去。原来当以管理员身份执行的时候,命令的执行路径变为了“C:\Windows\system32”。
脚本中的
%cd%应该换成
%~dp0,具体原因参见:DOS批处理中%cd%和%~dp0的区别
相关文章推荐
- 将c:\windows.复制到当前目录并显示进度的批处理文件
- dos下搜索当前目录及其子目录下的所有特定后缀名的文件并拷贝到新文件夹
- 关于os的一系列问题:统计当前目录下每个文件类型的文件数
- 用批处理获取当前目录下所有文件的路径
- 进行DOS系统调用,删除一个当前目录下的文件
- 批处理文件更新当前SVN目录下的所有文件
- BAT批处理:自动进入当前批处理文件所在的目录
- DOS:先进入 bat 文件的路径,然后执行 bat 文件,然后回到当前目录收藏
- 如何用DOS的批处理文件安装程序中所需数据库表的问题
- DOS:先进入 bat 文件的路径,然后执行 bat 文件,然后回到当前目录
- eclipse 利用windows资源管理器打开当前文件所在目录 | eclipse下的Java工程路径问题
- #### 批处理命令 获取当前目录下所有文件的路径
- 利用Python的 with open功能加载读取py本地当前目录文件问题
- 用批处理获取当前目录下所有文件的路径
- 批处理递归删除当前目录下特定文件
- 批处理解决实际问题1——将目录下所有文件(*.cpp)分别创建同名文件夹并移入其中
- DOS:先进入 bat 文件的路径,然后执行 bat 文件,然后回到当前目录
- C#执行批处理,当批处理不在程序根目录时,出现“找不到文件”的问题的解决方法
- dos指令 获取当前目录下所有文件命令解析
- ZZ: windows 批处理文件bat中获取当前目录