Board logo

标题: 求一个判断自身盘符的批处理 [打印本页]

作者: xinhepc     时间: 2008-8-2 03:40    标题: 求一个判断自身盘符的批处理

安装万能GHOST版系统时,我把系统安装到D盘,在安装时,系统会报错,我的想法是,在系统开始安装前就把盘符改回C盘。 所以我想用一个批处理来完成这个任务。 我现在知道diskpart这个命令可以改盘符,可是不知道有什么命令或批处理可以判断安装盘自身是什么盘符。求大侠给个批处理。 要求: 在本地启动批处理后,首先判断自身盘符,如果是C盘,退出批处理,如果不是就自动把盘符改回C盘。 最好支持VISTA [ Last edited by xinhepc on 2008-8-2 at 11:27 AM ]

作者: dosyenanjs     时间: 2008-8-2 16:40
@echo off
for /f "delims=\" %%i in ('echo %cd%') do (
 if /i %%i==c: (exit) else (cd c:)
  )
pause
[ Last edited by dosyenanjs on 2008-8-2 at 04:42 PM ]

作者: xinhepc     时间: 2008-8-3 08:57
写得好!!

作者: xinhepc     时间: 2008-8-3 08:58
可不可以改成 @echo off for /f "delims=\" %%i in ('echo %cd%') do ( if /i %%i==c: (exit) else (goto go) ) :go 我想用的命令。。。 pause

作者: dosyenanjs     时间: 2008-8-3 10:58
YES. BETTER
@echo off
for /f "delims=\" %%i in ('echo %cd%') do (
if /i %%i==c: exit
  )
new command

作者: xinhepc     时间: 2008-8-3 15:00
@echo off for /f "delims=\" %%i in ('echo %cd%') do ( if /i %%i==c: (exit) else (cd c:) ) pause 谁有办法把 %%i 这个的内容输出到一个记事本。也就是说判断完之后再把判断的盘符输入到一个事本。

作者: dosyenanjs     时间: 2008-8-3 17:05
你要干什么?
@echo off
for /f "delims=\" %%i in ('echo %cd%') do (echo %%i>>a.txt
if /i %%i==c: ( exit) else (cd c:)
  )
pause

作者: metoo     时间: 2008-8-3 20:53
if /i "%~d0"=="c:" (exit) else (cd c:)

作者: xinhepc     时间: 2008-8-3 23:56
if /i "%~d0"=="c:" (exit) else (cd c:) 太强了!精而简!高手

作者: xinhepc     时间: 2008-8-3 23:57
%~d0 这个太多人没想到了!呵呵

作者: pusofalse     时间: 2008-8-4 01:53
疑问。。 if /i "%~d0"=="c:" (exit) else (cd c:) 果真行吗。。环境。。。

作者: fuge     时间: 2008-8-5 23:23
太高深了不明白

作者: flyinspace     时间: 2008-8-6 03:45
这个?? 我是不是看错了。 dos 支持上面的功能么? 我记得以前用的是 shift扩展 的。