gpt4 book ai didi

windows - 如何在可以锁定(只读)和解锁驱动器的 Windows 中为 diskpart cmd 创建批处理文件

转载 作者:可可西里 更新时间:2023-11-01 14:35:34 25 4
gpt4 key购买 nike

我正在尝试创建批处理文件以打开/关闭驱动器的只读模式。

我创建了两个调用 diskpart 的批处理文件,以及两个包含要传递给 diskpart 的命令的文本文件。

当我单独运行 diskpart 命令时,它们起作用了;但是当我通过批处理文件和文本文件运行它们时,它们不起作用。


锁定磁盘的批处理文件

diskpart /s readonlyfile.txt > logfile .txt
pause

解锁磁盘的批处理文件

diskpart /s offreadonlyfile.txt
pause

readonlyfile.txt(用于锁定磁盘)

diskpart 
list disk
select disk 1
attributes disk set readonly

offreadonlyfile.txt(用于解锁磁盘)

diskpart 
list disk
select disk 1
attributes disk clear readonly

最佳答案

您需要管理权限才能使用 diskpart,如果您没有管理权限,那么您的批处理脚本将无提示地失败。要自动请求管理权限,您可以将 Visual Basic 与批处理脚本结合使用。您还可以使用简单的重定向为您自动创建临时文件并在完成后删除它们

@echo off
setlocal enabledelayedexpansion
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
exit /B

:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
set /p "mode=Do you ant to set read or write: "
:: call the first 4 letters of the string
call :%mode:~0,4%
pause
endlocal
goto eof

:read
echo.diskpart>readonlyfile.txt
echo.list disk>>readonlyfile.txt
echo.select disk 1>>readonlyfile.txt
echo.attributes disk set readonly>>readonlyfile.txt
diskpart /s readonlyfile.txt>logfile.txt
del readonlyfile.txt
exit /b 0

:writ
echo.diskpart>offreadonlyfile.txt
echo.list disk>>offreadonlyfile.txt
echo.select disk 1>>offreadonlyfile.txt
echo.attributes disk clear readonly>>offreadonlyfile.txt
diskpart /s offreadonlyfile.txt
del offreadonlyfile.txt
exit /b 0

UAC 提示脚本的来源:https://sites.google.com/site/eneerge/scripts/batchgotadmin

关于windows - 如何在可以锁定(只读)和解锁驱动器的 Windows 中为 diskpart cmd 创建批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com