我们可以用一个cmd文件,通过doskey命令模拟linux下的alias,指定一些我们习惯的命令名,比如:
env.cmd
@echo off doskey alias=doskey /macros doskey ls=dir $* doskey ll=dir /a $* doskey cat=type $* doskey open=explorer $* doskey ps=tasklist $*
然后可以通过注册表的 HKCU\Software\Microsoft\Command Processor 下的 AutoRun (REG_SZ)指定这个env.cmd的全名即可。
也可以利用下面这个cmd来设置它:
make_env.cmd
@echo off pushd "%~dp0" set sp0=------------------ set sp1=创建CMD启动环境 set envfile="%CD%\env.cmd" set getadminfile="%temp%\getadmin.vbs" title %sp1% color 5f :: -=UAC功能开始=- echo. echo 正在启动,请稍后... attrib %envfile% | find "找不到" >nul 2>nul if %errorlevel%==0 goto patherror "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\SYSTEM" >nul 2>nul if %errorlevel%==0 ( goto Administrator ) else ( if %errorlevel%==2 ( goto patherror ) else ( goto UAC ) ) :patherror cls echo 暂不支持从第三方软件启动,请手动运行。 echo. echo 按任意键打开"%~n0%~x0"所在文件夹... pause >nul start "" explorer.exe /select,"%~f0" goto :end :UAC echo Set sh = CreateObject^("Shell.Application"^) > %getadminfile% echo sh.ShellExecute "%~f0", "", "", "runas", 1 >> %getadminfile% ping 127.1 -n 1 >nul %getadminfile% goto :end :Administrator if exist %getadminfile% ( del %getadminfile% ) :: -=UAC功能结束=- :mainmenu cls echo %sp0% echo %sp1% echo %sp0% echo 1. 注册 echo 2. 删除 echo Q. 退出 echo. set input= set /p input=请选择(直接回车:查看): if "%input%"=="" goto :show if "%input%"=="1" goto :reg if "%input%"=="2" goto :del if /i "%input%"=="Q" goto :end echo. echo 输入错误,请重新输入! ping 127.1 -n 2 >nul goto :mainmenu :show reg query "HKCU\Software\Microsoft\Command Processor" /v AutoRun echo %sp0% echo %envfile% echo %sp0% type "%envfile%" goto :gotomain :reg cls echo 注册 echo. reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t REG_SZ /d "%envfile%" /f >nul if %errorlevel% EQU 0 ( echo 注册成功! ping 127.1 -n 2 >nul goto :mainmenu ) else ( echo 注册失败。 goto :gotomain ) :del cls echo 删除 echo. reg delete "HKCU\Software\Microsoft\Command Processor" /v AutoRun /f >nul if %errorlevel% EQU 0 ( echo 删除成功! ping 127.1 -n 2 >nul goto :mainmenu ) else ( echo 删除失败。 goto :gotomain ) :gotomain echo. echo 按任意键键返回主菜单... pause>nul goto :mainmenu :end if exist %getadminfile% ( del %getadminfile% ) color title %ComSpec% popd exit /B
时间: 2024-10-29 10:34:48