中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 打开窗口..输入数字.. 要在dos下运行!!!
« [1] [2] »
作者:
标题: 打开窗口..输入数字.. 要在dos下运行!!! 上一主题 | 下一主题
zch1366
中级用户





积分 326
发帖 148
注册 2005-12-16
状态 离线
『楼 主』:  打开窗口..输入数字.. 要在dos下运行!!!

假如分4个区 80G硬盘 c:\是10G   d:\是20G   e:\是20G   f:\是30G
输入数字是10000 20000 20000   
剩下的30G是会自动分区的  dm 1 /cre /log /for /q /y

dm 1 /cre /pri /sz:10000/for /q /y                     创建主分区   c:\
dm 1 /cre /ext                                               创建扩展分区
dm 1 /cre /log /sz:20000 /for /q /y                   创建逻辑分区D:\
dm 1 /cre /log /sz:20000 /for /q /y                   创建逻辑分区E:\
dm 1 /cre /log /for /q /y   这个就是剩下的30G    创建逻辑分区F:\
dm 1 /act /p:1                                               激活分区C盘启动

就是把10000 20000 20000  输入空格里
dm 1 /cre /pri /sz:<    > /for /q /y                     
dm 1 /cre /ext                                             
dm 1 /cre /log /sz:<     > /for /q /y                  
dm 1 /cre /log /sz:<      > /for /q /y                  
dm 1 /cre /log /for /q /y      
dm 1 /act /p:1                                               


这是热心朋友 lxmxn 版主 写的win xp下运行批处理文件< 谢谢lxmxn 版主>
请高手帮我改下.是在DOS下运行的.谢谢谢!!!!

@echo off&setlocal enabledelayedexpansion
set /p numbers=请输入参数:
If NOT DEFINED numbers (echo Error&pause&exit/b)
set a=1
set b=2
for %%a in (%numbers%) do (
    if !a! EQU 1 (set "str1=dm 1 /cre /pri /sz:%%a /for /q /y"&set "str2=dm 1 /cre /ext")
    if !a! GEQ 2 (set /a b+=1&set "str!b!=dm 1 /cre /log /sz:%%a /for /q /y")
    set /a a+=1
)
set "str6=dm 1 /cre /log /for /q /y"
set "str7=dm 1 /act /p:1"
for /f "delims== tokens=1*" %%a in ('set str') do (echo %%b)
set /p choose=请检查上面的程序是否正确,如错误按Q键回车退出,其它键执行?
if /i "%choose%"=="q" exit/b
for /l %%a in (1 1 7) do !str%%a!
pause
exit/b

对不起版主..如有错的地方..麻烦你再提醒!!!

[ Last edited by zch1366 on 2007-5-5 at 11:16 PM ]

2007-3-18 03:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zch1366
中级用户





积分 326
发帖 148
注册 2005-12-16
状态 离线
『第 2 楼』:  

惨了....DOS批处理脚本...没人会写吗

2007-3-19 01:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 3 楼』:  

试试:
用法:dos下输入 test 5000  20000 20000 45000   (假定批处理名为test.bat)
-------------
@eho off
cls
echo dm 1 /cre /pri /sz:%1 /for /q /y
echo dm 1 /cre /ext
echo dm 1 /cre /log /sz:%2 /for /q /y
echo dm 1 /cre /log /sz:%3 /for /q /y
echo dm 1 /cre /log /sz:%4 /for /q /y
echo dm 1 /cre /log /for /q /y
echo dm 1 /act /p:1
echo.
echo ------------------------------
echo.
echo    1. ok, run dm
echo    2. exit
echo.
@CHOICE /c:12 /n  Enter a choice (1 or 2):

@If errorlevel 2  goto exit
@If errorlevel 1  goto ok

:ok
dm 1 /cre /pri /sz:%1 /for /q /y
dm 1 /cre /ext                  
dm 1 /cre /log /sz:%2 /for /q /y
dm 1 /cre /log /sz:%3 /for /q /y :exit
dm 1 /cre /log /sz:%4 /for /q /y
dm 1 /cre /log /for /q /y        
dm 1 /act /p:1  

:exit



Windows 一键还原
http://www.yjhy.com
2007-5-5 18:54
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zch1366
中级用户





积分 326
发帖 148
注册 2005-12-16
状态 离线
『第 4 楼』:  

有点和winxp下运行的不同
这是硬盘分区程序
5000  20000 20000 50000 会因工作而变的
100G硬盘 c:\是5G   d:\是20G   e:\是20G   f:\是50G

10000 30000 40000 可能会变成这样
80G硬盘 c:\是10G   d:\是30G   e:\是40G   
因个人需要.有时要分3个区.有时要5个区.每次都是不同的

不好意思再次麻烦你

[ Last edited by zch1366 on 2007-5-5 at 09:18 PM ]

2007-5-5 21:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 5 楼』:  

对我来说 有些难度,从没弄过。
最笨的,也是最简单的办法,就是准备几个批处理。也就分区数是变数,反正一般分区数也不会太多。



Windows 一键还原
http://www.yjhy.com
2007-5-5 21:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 6 楼』:  

我再写,也只是把几个批处理写到一个里面,行数增加很多而已。简单办法不会。



Windows 一键还原
http://www.yjhy.com
2007-5-5 21:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 7 楼』:  

这是我所能想得到的办法了。最多10个分区,最少两个分区。
--------------------
@eho off
cls
echo dm 1 /cre /pri /sz:%1 /for /q /y
echo dm 1 /cre /ext
echo dm 1 /cre /log /sz:%2 /for /q /y
if not %3#==# echo dm 1 /cre /log /sz:%3 /for /q /y
if not %4#==# echo dm 1 /cre /log /sz:%4 /for /q /y
if not %5#==# echo dm 1 /cre /log /sz:%5 /for /q /y
if not %6#==# echo dm 1 /cre /log /sz:%6 /for /q /y
if not %7#==# echo dm 1 /cre /log /sz:%7 /for /q /y
if not %8#==# echo dm 1 /cre /log /sz:%8 /for /q /y
if not %9#==# echo dm 1 /cre /log /sz:%9 /for /q /y
if not %10#==# echo dm 1 /cre /log /sz:%10 /for /q /y
echo dm 1 /cre /log /for /q /y
echo dm 1 /act /p:1
echo.
echo ------------------------------
echo.
echo    1. ok, run dm
echo    2. exit
echo.
@CHOICE /c:12 /n  Enter a choice (1 or 2):

@If errorlevel 2  goto exit
@If errorlevel 1  goto ok

:ok
dm 1 /cre /pri /sz:%1 /for /q /y
dm 1 /cre /ext                  
dm 1 /cre /log /sz:%2 /for /q /y
if not %3#==# dm 1 /cre /log /sz:%3 /for /q /y
if not %4#==# dm 1 /cre /log /sz:%4 /for /q /y
if not %5#==# dm 1 /cre /log /sz:%5 /for /q /y
if not %6#==# dm 1 /cre /log /sz:%6 /for /q /y
if not %7#==# dm 1 /cre /log /sz:%7 /for /q /y
if not %8#==# dm 1 /cre /log /sz:%8 /for /q /y
if not %9#==# dm 1 /cre /log /sz:%9 /for /q /y
if not %10#==# dm 1 /cre /log /sz:%10 /for /q /y
dm 1 /cre /log /for /q /y        
dm 1 /act /p:1  

:exit



Windows 一键还原
http://www.yjhy.com
2007-5-5 22:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zch1366
中级用户





积分 326
发帖 148
注册 2005-12-16
状态 离线
『第 8 楼』:  

谢谢你....慢慢写了...其实我不赶时间......

2007-5-5 22:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zch1366
中级用户





积分 326
发帖 148
注册 2005-12-16
状态 离线
『第 9 楼』:  

假如分4个区 80G硬盘 c:\是10G   d:\是20G   e:\是20G   f:\是30G
输入数字是10000 20000 20000   
剩下的30G是会自动分区的  dm 1 /cre /log /for /q /y

dm 1 /cre /pri /sz:10000/for /q /y                     创建主分区   c:\
dm 1 /cre /ext                                               创建扩展分区
dm 1 /cre /log /sz:20000 /for /q /y                   创建逻辑分区D:\
dm 1 /cre /log /sz:20000 /for /q /y                   创建逻辑分区E:\
dm 1 /cre /log /for /q /y   这个就是剩下的30G    创建逻辑分区F:\
dm 1 /act /p:1                                               激活分区C盘启动

[ Last edited by zch1366 on 2007-5-5 at 10:35 PM ]

2007-5-5 22:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zch1366
中级用户





积分 326
发帖 148
注册 2005-12-16
状态 离线
『第 10 楼』:  

你用过Gdisk分区吗????安装Ghost程序里自带的分区软件Gdisk

2007-5-5 22:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 11 楼』:  

没用过自动分区。个人用的机子,分一次用到坏,无此需求。
应可以输入比例的。按100%输入就行了。



Windows 一键还原
http://www.yjhy.com
2007-5-5 22:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 12 楼』:  

我的工具里将来若加入自动分区功能的话,再想办法。



Windows 一键还原
http://www.yjhy.com
2007-5-5 22:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zch1366
中级用户





积分 326
发帖 148
注册 2005-12-16
状态 离线
『第 13 楼』:  

就算不行都没关系......先谢过你了???
你有这份心就足够了!!!!!

2007-5-5 22:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 14 楼』:  

另外,建议以后提问时,把自己想提的问题尽可能一次表达清楚。想干什么,通过这个问题想达到什么目的,交代清楚。



Windows 一键还原
http://www.yjhy.com
2007-5-5 22:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zch1366
中级用户





积分 326
发帖 148
注册 2005-12-16
状态 离线
『第 15 楼』:  

我有Gdisk自动分区软件....我觉得不够完美....所以没用???
你想玩玩我传给你....但不要在自己硬盘试...你不懂Gdisk分区软件
不小心就硬盘....所有数据都删除了.....小心!!!!

2007-5-5 22:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: