无忧启动论坛
标题:
gdisk 批处理 如何实现 if....... go to
[打印本页]
作者:
2011lxmw
时间:
2012-3-31 13:19
标题:
gdisk 批处理 如何实现 if....... go to
gdisk.bat 用法:
假设:500G硬盘分成5个区,C盘50G,D盘120G,E盘120G,F盘120G,剩下为G盘。
则输入gdisk 50000,120000,120000,120000回车,(由%2 到 %9 自动取值)
参数也可以用百分比 (p) gdisk 10p 30p 30p 等 (由%2 到 %9 自动取值)
如果只分2个区,输入gdisk 和第1个分区参数即可。
由gdisk %1 /cre /pri /sz:%2 /for /q 和 gdisk %1 /cre /log /for /q 这两句就能实现
我想跳过中间的%3 到 %9的步骤,如分3个区 跳过%4 到 %9的步骤
以此类推。if 语句该怎么写 而实现 go to end
下面是gdisk批处理:
gdisk %1 /cre /pri /sz:%2 /for /q
gdisk %1 /cre /ext
gdisk %1 /cre /log /sz:%3 /for /q
gdisk %1 /cre /log /sz:%4 /for /q
gdisk %1 /cre /log /sz:%5 /for /q
gdisk %1 /cre /log /sz:%6 /for /q
gdisk %1 /cre /log /sz:%7 /for /q
gdisk %1 /cre /log /sz:%8 /for /q
gdisk %1 /cre /log /sz:%9 /for /q
:end
gdisk %1 /cre /log /for /q
[
本帖最后由 2011lxmw 于 2012-4-4 23:08 编辑
]
作者:
pznpt
时间:
2012-3-31 16:15
@echo off&setlocal enabledelayedexpansion
set/p num=输入分区个数(2~9):
gdisk %1 /cre /pri /sz:%2 /for /q
gdisk %1 /cre /ext
if !num!==2 goto end
for /l %%a in (3 1 !num!) do (
set n=%%a
call set var=%%!n!
gdisk %1 /cre /log /sz:!var! /for /q
)
:end
gdisk %1 /cre /log /for /q
复制代码
只是提供一种思路而已,没有验证,仅供参考
作者:
2011lxmw
时间:
2012-3-31 16:37
谢谢 楼上!
我写成这样子,解决了问题,也就是3%没有赋值就跳转,以此类推
gdisk %1 /del /all
gdisk %1 /cre /pri /sz:%2 /for /q
gdisk %1 /cre /ext
if "%3"=="" goto end
gdisk %1 /cre /log /sz:%3 /for /q
if "%4"=="" goto end
gdisk %1 /cre /log /sz:%4 /for /q
if "%5"=="" goto end
gdisk %1 /cre /log /sz:%5 /for /q
if "%6"=="" goto end
gdisk %1 /cre /log /sz:%6 /for /q
if "%7"=="" goto end
gdisk %1 /cre /log /sz:%7 /for /q
if "%8"=="" goto end
gdisk %1 /cre /log /sz:%8 /for /q
if "%9"=="" goto end
gdisk %1 /cre /log /sz:%9 /for /q
:end
gdisk %1 /cre /log /for /q
gdisk %1 /act /p:1
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3