当前位置:编程学习 > php >>

php 设置磁盘权限的批处理文件

第一步:输入网站访问帐号(为空则使用默认帐号[IUSR_****]),脚本会自动获取IUSR帐号,如IUSR帐号被改名则无法获取,[]中将显示空。另外如需要用其它帐号作为IIS访问帐号,则在这里填入,如不需要更改则直接回车。

第二步:为获取文件列表及初始化变量,这里花费时间也比较长。

第三步:设置C盘权限,因文件比较多,另外为防止有个别文件未继承权限,每一个文件都是重设置了,权限所以运行时间会比较长。

第三步:设置其它盘符时,如不需要,则输入N退出。

第四步:依次输入你的网站所在目录,如不在这里输入,则网站目录将没有权限访问。

@echo off
cls
echo       ##########################################################
echo       #                                                        #
echo       #                      设置磁盘权限                      #
echo       #            Tony www.023.com.cn  VPS,服务器租用        #
echo       #                                                        #
echo       #  注意事项:                                            #
echo       #                                                        #
echo       #      1 如需使用PHP请先使用“服务器自主管理工具箱”安     #
echo       #        装再使用此程序设置权限,若手动安装PHP则需手动   #
echo       #        给PHP目录加上USERS的读权限再使用此脚本。        #
echo       #                                                        #
echo       #      2 此脚本只给了网站目录IIS访问帐户的修改权限,     #
echo       #        如需要使用.net需手动加上IIS_WPG组的权限。       #
echo       #                                                        #
echo       #      3 此脚本只适用于网站服务。                        #
echo       #                                                        #
echo       #      4 添加修改权限方法:右键目录叵文件--属性--安全    #
echo       #        选择用户,在下方法勾上需要的权限。点击添加--    #
echo       #        高级--立即查找,选择用户名确定即可添加用户。    #
echo       #                                                        #
echo       ##########################################################
echo.
rem ====================================得到IUSER帐户
net user|find /v "命令成功完成"> %windir%tempisUser1.txt 2>nul
echo.> %windir%tempisUser.txt 2>nul
set webUser=
for /f "skip=4 tokens=1" %%i in (%windir%tempisUser1.txt) do echo %%i>> %windir%tempisUser.txt 2>nul
for /f "skip=4 tokens=2" %%i in (%windir%tempisUser1.txt) do echo %%i>> %windir%tempisUser.txt 2>nul
for /f "skip=4 tokens=3" %%i in (%windir%tempisUser1.txt) do echo %%i>> %windir%tempisUser.txt 2>nul
for /f "skip=1" %%i in (%windir%tempisUser.txt) do call:GetIusr %%i
set /p webUser=输入网站访问帐号(为空则使用默认帐号[%webUser%]):
del /f /q %windir%tempisUser1.txt
del /f /q %windir%tempisUser.txt
goto endGetIusr

:GetIusr
set webUser1=%1
if /i %webUser1:~0,5%==IUSR_  set webUser=%1
goto :eof
:endGetIusr
REM ===============================获取C盘文件列表
set /a No=0
set /a No1=0
set /p=初始化程序... <nul
set 退格=
echo y|cacls c: /g administrators:f > nul 2>nul
cacls c: /g system:f /e > nul 2>nul
dir /s /b c: > %windir%tempcacls.txt 2>nul 
dir /s /b %windir% > %windir%tempcacls1.txt 2>nul 
for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%tempcacls.txt"') do set /a totalNo=%%a
for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%tempcacls1.txt"') do set /a totalNo1=%%a+13
set /p=ok < nul
echo.
REM ===============================开始设置C盘权限
set isGoOn=Y
set /p isGoOn=是否设置C盘权限(Y/N)[Y]:
if /i "%isGoOn%"=="N" goto endSetC

set /p=初始化C盘权限... 0/%totalNo%<nul
for /f "tokens=* delims=" %%i in (%windir%tempcacls.txt) do call:setAcl "%%i"
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=初始化C盘权限... OK                               <nul
echo.
set /p=设置C盘权限细节... 0/%totalNo1%<nul
for /f "tokens=* delims=" %%i in (%windir%tempcacls1.txt) do call:addUsers "%%i"
cacls "%windir%" /t /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program FilesCommon FilesODBC" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program FilesCommon FilesServices" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program FilesCommon FilesSystem" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program Files (x86)Common FilesODBC" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program Files (x86)Common FilesServices" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program Files (x86)Common FilesSystem" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%temp" /g Users:c /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%System32cmd.exe" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%System32cacls.exe" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%System32net.exe" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%System32regsvr32.exe" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "c:php5" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... OK                                 <nul
echo.
goto endSetC

:setAcl 
set /a No+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=初始化C盘权限... %No%/%totalNo%<nul
set tmpPath=%1
echo y|cacls %1 /g administrators:f > nul 2>nul
cacls %1 /g system:f /e > nul 2>nul
goto :eof

:addUsers
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls %1 /g Users:r /e > nul 2>nul
goto :eof

:endSetC
REM ========================设置其它盘权限
set DiskStr=DEFGHIJKLMNOPQRSTUVWXYZ
set /a DiskNo=23
:GoOnSetDisk
set thisDisk=%DiskStr:~0,1%
set DiskStr=%DiskStr:~1%
set /a DiskNo-=1
set isGoOn=Y
set /p isGoOn=是否设置%thisDisk%盘权限(Y/N)[Y]:
if /i "%isGoOn%"=="N" goto SetOtherDisk
set /p=设置%thisDisk%盘权限... <nul
dir /s /b %thisDisk%: > %windir%tempcacls.txt 2> nul
set /a totalNo=0
set /a No=0
for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%tempcacls.txt"') do set /a totalNo=%%a+1
for /f "tokens=* delims=" %%i in (%windir%tempcacls.txt) do call:setDisk "%%i"
echo y|cacls %thisDisk%: /g administrators:f > nul 2>nul
cacls %thisDisk%: /g system:f /e > nul 2>nul
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置%thisDisk%盘权限... OK                              <nul
echo.
if %DiskNo% GTR 0 goto GoOnSetDisk
goto endSetDisk

:SetOtherDisk
set isSetOther=Y
set /p isSetOther=是否设置其它盘权限(Y/N)[Y]:
if /i "%isSetOther%"=="N" goto endSetDisk
goto :GoOnSetDisk

:setDisk
set /a No+=1
echo y|cacls %1 /g administrators:f > nul 2>nul
cacls %1 /g system:f /e > nul 2>nul
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置%thisDisk%盘权限... %No%/%totalNo%<nul
goto :eof

:endSetDisk
REM =======================设置网站目录权限
tony.rings> %windir%tempwebDir.txt 2>nul
: addWebDir
set WebDir=
set /p WebDir=添加网站目录(为空则添加结束):
if "%WebDir%"=="" goto endAddWebDir
echo %WebDir%>> %windir%tempwebDir.txt 2>nul
goto addWebDir
:endAddWebDir
for /f "tokens=* delims=" %%i in (%windir%tempwebDir.txt) do call:setWebDir "%%i"

goto endSetWebDir

:setWebDir
set /a No=1
set /a totalNo=1
set /p=设置%1权限... <nul
dir /s /b %1> %windir%tempwebSubDir.txt 2>nul
for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%tempwebSubDir.txt"') do set /a totalNo=%%a+1
cacls %1 /t /g %webUser%:c /e /c > nul 2> nul
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置%1权限... 1/%totalNo% <nul
for /f "tokens=* delims=" %%i in (%windir%tempwebSubDir.txt) do call:setWebSubDir "%%i" %1
goto :eof

:setWebSubDir
set /a No+=1
cacls %1 /t /g %webUser%:c /e /c > nul 2> nul
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置%2权限... %No%/%totalNo% <nul
goto :eof

:endSetWebDir
del /f /q %windir%tempcacls1.txt
del /f /q %windir%tempcacls.txt
del /f /q %windir%tempwebDir.txt
del /f /q %windir%tempwebSubDir.txt
echo.
echo 恭喜您,设置完成,请按任意键退出程序!
pause > nul

补充:Php教程,Php入门 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,