无忧启动论坛

标题: 分享&求助 [打印本页]

作者: 天使说请安静    时间: 2021-8-24 10:52
标题: 分享&求助
这两天捣鼓了一下自动分区
写完发现自己都看不懂了已经.
论写备注的重要性.
内啥我用S大的工具做的PE发现触摸板双支滚动功能失效了,有大佬提供解决思路吗...
内啥我用S大的工具做的PE发现触摸板双支滚动功能失效了,有大佬提供解决思路吗...
代码↓↓↓↓↓↓↓↓↓↓↓
@echo off
for %%p in (C D E F) do (
    (ECHO SELECT VOL %%p &ECHO REMOVE)|diskpart
)

SET IS=GOTO IS&SET F=ECHO 没有折返点。&SET D=0&SET AD=&SET EC=echo 硬盘 %%i:容量为!D%%i! GB,物理位置:%%n&SET ME=START PECMD "MESS+top 机器内有!D!个硬盘。\n系统%img%将装在容量为!SYDR!GB的硬盘里。!PT!!DPT!*300000"
setlocal enabledelayedexpansion
:START
for /f "tokens=2,4,6,8" %%i in ('echo list disk ^| diskpart ^| findstr /i GB') do (
    SET D%%i=%%j
    IF %%j GTR 8 for /f "tokens=3" %%n in ('^(echo select disk %%i^&echo DETAIL disk^) ^|diskpart ^| findstr /i 位置路径') do (
    %EC%&IF %%n NEQ UNAVAILABLE ECHO 硬盘 %%i 将被重新分区。&(ECHO SELECT DISK %%i&ECHO CLEAN)|DISKPART&SET AD=!AD!%%i &SET /A D+=1
    )
)
ECHO 机器内有%D%个硬盘。
IF "%img%" EQU "CLEANDISK" START PECMD "MESS+top 硬盘已清空。*5000" &EXIT
IF %DIY% EQU 1 GOTO DIY
IF %D% EQU 0 PECMD "MESS+top 没有检测到合适的硬盘。\n请检查."&EXIT
IF %D% EQU 1 GOTO OD
IF %D% EQU 2 GOTO SD
IF %D% EQU 3 GOTO TD
ECHO START ERROR.
PAUSE
:OD
for %%e in (!AD!) do (
   IF !D%%e! GTR 100 IF 200 GTR !D%%e! SET SYDR=!D%%e!&SET SYDN=%%e&SET PT=\n硬盘将不分区。&GOTO S
   IF !D%%e! GTR 200 IF 400 GTR !D%%e! SET SYDR=!D%%e!&SET SYDN=%%e&SET PT=\n硬盘将不分区。&GOTO S
   IF !D%%e! GTR 400 IF 1200 GTR !D%%e! SET SYDR=!D%%e!&SET SYDN=%%e&SET PT=\n硬盘将分两个区。&GOTO SS
   IF !D%%e! GTR 1200 SET SYDR=!D%%e!&SET SYDN=%%e&SET PT=\n硬盘将分两个区。&GOTO SSSS
)
ECHO OD ERROR
PAUSE
:SD
SET T=0
for %%e in (!AD!) do (
    ECHO %%e !D%%e! T:%T%
    IF !T! EQU 0 SET FDN=%%e&SET FDR=!D%%e!&SET /A T+=1
    IF !T! EQU 1 SET SDN=%%e&SET SDR=!D%%e!
)
echo %FDN% %FDR%
echo %SDN% %SDR%
IF !FDR! GTR !SDR! ECHO %SDR%GB 为系统盘.&SET SYDR=!SDR!&SET SYDN=!SDN!&SET DEDR=!FDR!&SET DEDN=!FDN!
IF !SDR! GTR !FDR! ECHO %FDR%GB 为系统盘.&SET SYDR=!FDR!&SET SYDN=!FDN!&SET DEDR=!SDR!&SET DEDN=!SDN!
GOTO SDP
ECHO SD ERROR
PAUSE
:SDP
SET F=GOTO BID
IF !SYDR! GTR 400 SET NP=2&SET DPT=\n!DEDR!GB将分两个区。&GOTO SS
IF 400 GTR !SYDR! SET NP=3&SET DPT=\n!DEDR!GB将分三个区。&&GOTO S
ECHO SDP ERROR
PAUSE
:BID
ECHO 到达折返点,炸毁指挥部。
SET F=ECHO 没有折返点。
SET SYDN=!DEDN!
SET SYDR=!DEDR!
IF %NP% EQU 3 SET/A  BBB=!SYDR!*1024/3&GOTO PPP
IF %NP% EQU 2 SET/A  BBB=!SYDR!*1024/2&GOTO PP
ECHO BID ERROR.
PAUSE
:TD
GOTO BUG
:S
%ME%
(ECHO SELECT DISK %SYDN%&ECHO CLEAN&ECHO CONVER GPT&ECHO CREATE PARTITION EFI SIZE =100&ECHO FORMAT FS=FAT32 QUICK&ECHO ASSIGN LETTER=Z&ECHO CREATE PARTITION PRIMARY&ECHO FORMAT FS=NTFS QUICK&ECHO ASSIGN LETTER=C)|DISKPART
%F%
%IS%
ECHO S ERROR
PAUSE
:SS
%ME%
(ECHO SELECT DISK %SYDN%&ECHO CLEAN&ECHO CONVER GPT&ECHO CREATE PARTITION EFI SIZE =100&ECHO FORMAT FS=FAT32 QUICK&ECHO ASSIGN LETTER=Z&ECHO CREATE PARTITION PRIMARY SIZE =243712&ECHO FORMAT FS=NTFS QUICK&ECHO ASSIGN LETTER=C&ECHO CREATE PARTITION PRIMARY&ECHO FORMAT FS=NTFS QUICK&ECHO ASSIGN LETTER=D)|DISKPART
LABEL D:DATA
%F%
%IS%
ECHO SS ERROR
PAUSE
:SSSS
(ECHO SELECT DISK %SYDN%&ECHO CLEAN&ECHO CONVER GPT&ECHO CREATE PARTITION EFI SIZE =100&ECHO FORMAT FS=FAT32 QUICK&ECHO ASSIGN LETTER=Z&ECHO CREATE PARTITION PRIMARY SIZE =243712&ECHO FORMAT FS=NTFS QUICK&ECHO ASSIGN LETTER=C)|DISKPART
SET/A  BBB=(!SYDR!-237)*1024/3
:PPP
(ECHO SELECT DISK %SYDN%&ECHO CREATE PARTITION PRIMARY SIZE =%BBB%&ECHO FORMAT FS=NTFS QUICK&ECHO ASSIGN LETTER=D)|DISKPART
:PP
(ECHO SELECT DISK %SYDN%&ECHO CREATE PARTITION PRIMARY SIZE =%BBB%&ECHO FORMAT FS=NTFS QUICK&ECHO ASSIGN LETTER=E&ECHO CREATE PARTITION PRIMARY SIZE =%BBB%&ECHO FORMAT FS=NTFS QUICK&ECHO ASSIGN LETTER=F)|DISKPART
%F%
%IS%
ECHO SSSS ERROR
PAUSE

代码↑↑↑↑↑↑↑↑↑
大概流程是先把C-F盘的盘符移除了
然后格盘,然后分区.
128/256+1T是1+3分区
512+1T是2+2分区.
我用来搭配IPXE,DISM自动部署系统用到的.防止哪天不小心把U盘格了找不回来,当做备份了.

作者: barryade    时间: 2021-8-24 12:47
论坛太可怕了, 千万别说别人分享的东西不好,一堆人咬你
作者: 天使说请安静    时间: 2021-8-24 13:16
barryade 发表于 2021-8-24 12:47
论坛太可怕了, 千万别说别人分享的东西不好,一堆人咬你

觉得不好自己动手改一下就好了问题不大.
给作者提一嘴,修不修改受是作者的事没必要吵得不可开交那样.
所以说触摸板这问题有头绪吗

作者: barryade    时间: 2021-8-24 14:07
我的意思就是提醒你,
有问题就直接问, 别提“某大某某工具”  或者就隐晦一点
直接提名字 你可能会被攻击
作者: 天使说请安静    时间: 2021-8-24 14:13
barryade 发表于 2021-8-24 14:07
我的意思就是提醒你,
有问题就直接问, 别提“某大某某工具”  或者就隐晦一点
直接提名字 你可能会被攻 ...

没,S大有问必答啊你可以去看看他帖子,氛围很棒
作者: shuzhuzhu    时间: 2021-8-27 11:54
谢谢分享!
作者: szwp    时间: 2021-8-27 12:06
DISKPART可以检查是否USB,就不会误格U盘了。
作者: 天使说请安静    时间: 2021-8-27 12:31
szwp 发表于 2021-8-27 12:06
DISKPART可以检查是否USB,就不会误格U盘了。

IF %%n NEQ UNAVAILABLE 这个命令也能过滤U盘
因为我有挂载VHD,所以用这个会适合一点
作者: szwp    时间: 2021-8-27 12:39
天使说请安静 发表于 2021-8-27 12:31
IF %%n NEQ UNAVAILABLE 这个命令也能过滤U盘
因为我有挂载VHD,所以用这个会适合一点

俺脚本做U盘启动盘,怕误格硬盘用的下面语句。
set /p d=请选择U盘:
(echo sele disk %d%&echo deta disk)|diskpart|findstr 类型.*USB||pause
作者: 天使说请安静    时间: 2021-8-27 12:57
szwp 发表于 2021-8-27 12:39
俺脚本做U盘启动盘,怕误格硬盘用的下面语句。
set /p d=请选择U盘:
(echo sele disk %d%&echo deta d ...

双重保险




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3