中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 10:03
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求一个判断自身盘符的批处理 查看 1,030 回复 12
楼 主 求一个判断自身盘符的批处理 发表于 2008-08-02 03:40 ·  中国 广东 广州 电信
初级用户
积分 90
发帖 40
注册 2007-04-08 04:50
19年会员
UID 84350
性别 男
来自 广州
状态 离线
安装万能GHOST版系统时,我把系统安装到D盘,在安装时,系统会报错,我的想法是,在系统开始安装前就把盘符改回C盘。

所以我想用一个批处理来完成这个任务。

我现在知道diskpart这个命令可以改盘符,可是不知道有什么命令或批处理可以判断安装盘自身是什么盘符。求大侠给个批处理。







要求: 在本地启动批处理后,首先判断自身盘符,如果是C盘,退出批处理,如果不是就自动把盘符改回C盘。


最好支持VISTA

[ Last edited by xinhepc on 2008-8-2 at 11:27 AM ]
2 发表于 2008-08-02 16:40 ·  中国 广东 东莞 电信
初级用户
积分 22
发帖 11
注册 2008-07-10 21:36
18年会员
UID 121337
性别 男
状态 离线

@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 ]
3 发表于 2008-08-03 08:57 ·  中国 广东 广州 增城区 电信
初级用户
积分 90
发帖 40
注册 2007-04-08 04:50
19年会员
UID 84350
性别 男
来自 广州
状态 离线
写得好!!
4 发表于 2008-08-03 08:58 ·  中国 广东 广州 增城区 电信
初级用户
积分 90
发帖 40
注册 2007-04-08 04:50
19年会员
UID 84350
性别 男
来自 广州
状态 离线
可不可以改成

@echo off
for /f "delims=\" %%i in ('echo %cd%') do (
if /i %%i==c: (exit) else (goto go)
)
:go
我想用的命令。。。
pause
5 发表于 2008-08-03 10:58 ·  中国 广东 东莞 电信
初级用户
积分 22
发帖 11
注册 2008-07-10 21:36
18年会员
UID 121337
性别 男
状态 离线
YES.
BETTER

@echo off
for /f "delims=\" %%i in ('echo %cd%') do (
if /i %%i==c: exit
)
new command
6 发表于 2008-08-03 15:00 ·  中国 广东 广州 增城区 电信
初级用户
积分 90
发帖 40
注册 2007-04-08 04:50
19年会员
UID 84350
性别 男
来自 广州
状态 离线
@echo off
for /f "delims=\" %%i in ('echo %cd%') do (
if /i %%i==c: (exit) else (cd c:)
)
pause


谁有办法把 %%i 这个的内容输出到一个记事本。也就是说判断完之后再把判断的盘符输入到一个事本。
7 发表于 2008-08-03 17:05 ·  中国 广东 东莞 电信
初级用户
积分 22
发帖 11
注册 2008-07-10 21:36
18年会员
UID 121337
性别 男
状态 离线
你要干什么?

@echo off
for /f "delims=\" %%i in ('echo %cd%') do (echo %%i>>a.txt
if /i %%i==c: ( exit) else (cd c:)
)
pause
8 发表于 2008-08-03 20:53 ·  中国 江苏 苏州 电信
初级用户
★★
积分 195
发帖 93
注册 2006-10-28 08:20
19年会员
UID 68626
性别 男
状态 离线

if /i "%~d0"=="c:" (exit) else (cd c:)
9 发表于 2008-08-03 23:56 ·  中国 广东 广州 增城区 电信
初级用户
积分 90
发帖 40
注册 2007-04-08 04:50
19年会员
UID 84350
性别 男
来自 广州
状态 离线
if /i "%~d0"=="c:" (exit) else (cd c:)

太强了!精而简!高手
10 发表于 2008-08-03 23:57 ·  中国 广东 广州 增城区 电信
初级用户
积分 90
发帖 40
注册 2007-04-08 04:50
19年会员
UID 84350
性别 男
来自 广州
状态 离线
%~d0

这个太多人没想到了!呵呵
11 发表于 2008-08-04 01:53 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
疑问。。
if /i "%~d0"=="c:" (exit) else (cd c:)
果真行吗。。环境。。。
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
12 发表于 2008-08-05 23:23 ·  中国 上海 电信
新手上路
积分 12
发帖 5
注册 2008-08-01 21:01
18年会员
UID 122586
性别 男
状态 离线
太高深了不明白
13 发表于 2008-08-06 03:45 ·  中国 广东 广州 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
19年会员
UID 82819
性别 男
状态 离线
这个??
我是不是看错了。

dos 支持上面的功能么?

我记得以前用的是

shift扩展 的。
知,不觉多。不知,乃求知
论坛跳转: