必须以管理员身份运行BAT脚本,否则会因DISKPART重定向输出到文件无结果等问题而出现错误。
由于MBR格式的移动硬盘的只读对整个磁盘生效,分别对每个分区设置只读属性,必须将移动硬盘转换为GPT硬盘。
新建一个“ExternalDiskProtect.bat”,写入以下代码:
--------------------------------------------------------------------------
cls
@echo 本程序只为单位2T移动硬盘设置或清除保护用
@echo 两个分区一个可写一个不可写,一般1570GB为平时不可写,292GB可写,为平时中转文件使用
@echo 两个分区:1570GB为平时不可写;292GB可写,为平时中转文件使用
@echo off
set /p act=请输入操作代码【1570GB写保护292GB可写-1,1570GB可写292GB写保护-2,所有写保护关-0】:
if %act%==0 set act1=clear
if %act%==0 set act2=clear
if %act%==1 set act1=set
if %act%==1 set act2=clear
if %act%==2 set act1=clear
if %act%==2 set act2=set
echo list vol>d:\script.txt
echo exit>>d:\script.txt
diskpart /sd:\script.txt>d:\listvoltmp.txt
del d:\script.txt
if %act%==2 goto sub2
for /f "tokens=2 delims= " %%A in('type d:\listvoltmp.txt ^| find /I "1570 GB"') do echo sel vol%%A>d:\script.txt
echo attr vol %act1%readonly>>d:\script.txt
for /f "tokens=2 delims= " %%A in('type d:\listvoltmp.txt ^| find /I "292 GB"') do echo sel vol%%A>>d:\script.txt
echo attr vol %act2%readonly>>d:\script.txt
goto eof
:sub2
for /f "tokens=2 delims= " %%A in('type d:\listvoltmp.txt ^| find /I "292 GB"') do echo sel vol%%A>d:\script.txt
echo attr vol %act2% readonly>>d:\script.txt
for /f "tokens=2 delims= " %%A in('type d:\listvoltmp.txt ^| find /I "1570 GB"') do echo sel vol%%A>>d:\script.txt
echo attr vol %act1%readonly>>d:\script.txt
goto eof
:eof
del d:\listvoltmp.txt
echo exit>>d:\script.txt
diskpart /s d:\script.txt
del d:\script.txt
timeout /t 15
以上脚本可根据移动硬盘的分区实际大小,修改后使用。
分别对应1570 GB和292 GB两处,注意中间有空格,另外delims= 后面也有一个空格。
如何将MBR转成GPT分区
1. 下载DiskGenius。http://www.diskgenius.cn/download.php
2. 运行DiskGenius
HD1-->右击HD1-->“转换分区表类型为GUID格式(P)”
保存更改,无损转换。
联系客服