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扩展  的。