Board logo

标题: [代码合集] 批处理怎么在非管理员账户号运行,并且每次运行不用输管理员密码? [打印本页]

作者: csbcsb1990    时间: 2019-7-11 09:32     标题: 批处理怎么在非管理员账户号运行,并且每次运行不用输管理员密码?

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=g" %%a in ('cmd /u /cEcho,有') do set "Tab=%%a"
  3. set w=wmic diskdrive where "MediaType like 'fixed%%'"
  4. (for /f "delims=" %%a in ('%w% get model^,size/value^|find "="') do (
  5.     for /f "tokens=1,2delims==" %%b in ("%%a") do (
  6.         if /i "%%b" == "model" (
  7.             set "model=%%~nxc" & set /a i+=1
  8.             set /p=硬盘!i!:%Tab%<nul
  9.         ) else (
  10.             call :GetSize %%~nxc000 size
  11.             if !size! gtr 102400 (
  12.                 set /a size/=1024 & set "G=GB"
  13.             ) else set "G=MB"
  14.             set /p=大小: !size:~,-2!.!size:~-2!!G!%Tab%<nul
  15.             set /p=型号: !model!<nul
  16.             echo,
  17.         )
  18.     )
  19. ))>DiskInfo.txt
  20. set w=wmic logicaldisk where "DriveType='3'"
  21. for /f "tokens=1-3" %%a in ('%w% get freespace^,name^,size^|find ":"')do (
  22.     set /p=分区%%b%Tab%<nul
  23.     call :GetSize %%a000 free
  24.     call :GetSize %%c000 size
  25.     set /a used=size-free
  26.     if !size! gtr 102400 (
  27.         set "G=GB" & set /a size/=1024,used/=1024
  28.     ) else set "G=MB"
  29.     set /a used=1000*used/size
  30.     if "!used:~,-1!" == "" set "used=0!used!"
  31.     set /p=大小: !size:~,-2!.!size:~-2!!G!%Tab%<nul
  32.     if !free! gtr 102400 (set /a free/=1024 & set "G=GB") else set "G=MB"
  33.     set /p=剩余: !free:~,-2!.!free:~-2!!G!%Tab%<nul
  34.     set /p=使用率: !used:~,-1!.!used:~-1!%%<nul
  35.     echo,
  36. )>>DiskInfo.txt
  37. start "" NotePad DiskInfo.txt
  38. exit/b
  39. :GetSize
  40. set "num=%1" & set "n=" & set "%2="
  41. for %%a in (16 8 4 2 1) do (
  42.     if not "!num:~%%a!"=="" set /a n+=%%a & set "num=!num:~%%a!"
  43. )
  44. set "num=%1" & set /a n-=6
  45. for /l %%a in (!n! -1 1) do (
  46.     set "s=!num:~,-%%a!"
  47.     if "!s:~,1!" == "0" set "s=!s:~1!"
  48.     set /a m=s%%1048576,s/=1048576
  49.     set "%2=!%2!!s!"
  50.     set "num=!m!!num:~-%%a!"
  51. )
  52. if not defined %2 (
  53.     set "%2=!num:~,-1!"
  54. ) else if "!%2:~,1!" == "0" set "%2=!%2:~1!"
复制代码

作者: kingshui    时间: 2019-7-11 17:00

本帖最后由 kingshui 于 2019-7-11 17:04 编辑

runas 保存一下凭据,再用runas来运行就可以了。
  1. runas /user:"USERNAME" /savecred "Full path of file"
复制代码

作者: csbcsb1990    时间: 2019-7-12 17:13

回复 2# kingshui


    我的意思是在上面的代码中怎么添加命令呢?添加代码后直接运行更改过的批处理直接就以管理员权限运行了。不知如何在以上代码中添加代码来实现。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2