Board logo

标题: [原创]批处理程序原代码:文件目录加锁工具 [打印本页]

作者: boylinxing    时间: 2005-8-11 10:25     标题: [原创]批处理程序原代码:文件目录加锁工具

拷贝下面的代码,用记事本保存为“NTFS分区文件目录加锁工具.cmd”,双击运行

@echo off
echo.
rem 检测操作系统版本
ver|find "2000" > nul 2>nul 2>nul
if "%ERRORLEVEL%"=="0" goto :start
ver|find "Microsoft Windows [版本 5" > nul 2>nul 2>nul
if "%ERRORLEVEL%"=="0" goto :start
ver|find "XP" > nul 2>nul 2>nul
if "%ERRORLEVEL%"=="0" goto :start
echo.
echo 对不起,本程序仅支持 Windows 2000/XP/2003。
echo 任意键退出……
pause>nul
goto quit
:start
rem 设置控制台的前景色和背景色
color 1f
cls
echo.
echo.
echo                        # NTFS分区文件目录加锁工具 #
echo.
echo ╒═╤═══════════════════════════════════╕
echo │功│本程序可修改NTFS分区下的指定文件或目录的访问权限,包括读取、修改和删除│
echo │  │仅对NTFS分区下的文件和目录有效                                        │
echo │  │注意不要将重要文件夹设置为锁定状态(如系统文件夹)!                  │
echo │能│本程序纯属鸡肋,仅供学习,半作者LiNXiNG(偷师于深山红叶:-)           │
echo ├─┼───────────────────────────────────┤
echo │菜│ [1] 文件或目录加锁                                                   │
echo │  │ [2] 文件或目录解锁                                                   │
echo │单│ [3] 退出                                                             │
echo ╘═╧═══════════════════════════════════╛
echo.
set /p UserSelection=   请输入您的选择(1/2/3):
if "%UserSelection%"=="1" set lock=1
if "%UserSelection%"=="2" set lock=0
if "%UserSelection%"=="3" goto quit
if "%UserSelection%"=="" goto ok
:manu
set object=
echo.
if "%lock%"=="1" echo 输入要锁定的文件名或目录名(完整路径,例如C:\Program Files\wsearch):
if "%lock%"=="0" echo 输入要解锁的文件名或目录名(完整路径,例如C:\Program Files\wsearch):
set /p object=
echo %object%|find ":"
if not "%ERRORLEVEL%"=="0" goto error
goto ok1
:error
echo.
echo 错误!要求输入完整的路径和文件名(或目录名)!
echo 例如:C:\Program Files\wsearch
echo 任意键返回重新输入……
pause>nul
cls
goto manu
:ok1
if "%object%"=="" goto manu
if exist "%object%\nul" goto ok
if exist "%object%" goto ok
echo.
echo 错误:指定文件或目录不存在!
echo 任意键返回重新输入……
pause>nul
cls
goto manu
:ok
rem 用系统命令CACLS加锁
if "%lock%"="1" echo Y|CACLS "%object%"  /T /C /D everyone>nul 2>nul
rem 用系统命令CACLS解锁
if "%lock%"="0" echo Y|CACLS "%object%"  /T /C /G everyone:F>nul 2>nul
echo.
echo 完毕!任意键退出……
pause>nul
:quit
exit





欢迎光临 EZB 论坛 (http://ultraiso.net/ezbbbs/) Powered by Discuz! 6.1.0