首页 > 观点

Windows cmd 命令实战案例学习

发表时间:2023-09-08 14:42:31 来源:哔哩哔哩

Windows cmd 命令实战案例


(资料图片仅供参考)

给小白的建议,以下代码看多看看会对你有所备注,选择自己需要的部分,用到自己的代码里去,代码可以有无数种组合方式,有无数种可能,靠自己的想象,创造出属于自己的程序,以下代码部分是借鉴被人的代码,取我所需结合自己的想法写的,在此感谢各位大佬的帮助

源码 :/b03ewkyxc 密码:eal2

软件:/b03ewmf0h 密码:dv95

源码我已经打包,还有些太长没有放进来,我上传网盘各自取用,如果遇到bug可以在评论区或私信我,我再进行修改,可以自己尝试学习一下

::实现变量值在不同情况下实现不同赋值

@echo off 

dir /ad /b %~nx1 >nul 2>nul&& set a=%~nx1||set a=%~n1

echo %a%

pause

::将拖入的文件路径添加到环境变量

@echo off

title 网络菜鸟愚沐

dir /ad/b %~1 >nul 2>nul && (goto yes) || (goto no)

::方法一

:yes

if defined Tianjia (

rem 有变量值时,附加到现有的环境变量中

setx Tianjia "%Tianjia%;%~1"

) else (

rem 无变量值时,创建新的变量, 并将新变量添加到Path里

setx Tianjia "%~1" &&  setx Path "%path%;%%Tianjia%%"

)

exit

:no

if defined Tianjia (

rem 有变量值时,附加到现有的环境变量中

setx Tianjia "%Tianjia%;%cd%"

) else (

rem 无变量值时,创建新的变量, 并将新变量添加到Path里

setx Tianjia "%cd%" &&  setx Path "%path%;%%Tianjia%%"

)

exit

@echo off

title 网络菜鸟愚沐

echo %~dp1>>地址文件.txt

type %~1 | find /i "exe" | find /i "\" >>地址文件.txt

echo %~1 >>地址文件.txt

echo= >>地址文件.txt

pause

@echo off

title 网络菜鸟愚沐

::for读取.lnk文件,type打印快捷方式信息,find进行搜索

for /r %%f in (*.lnk) do (echo %%f>>地址文件.txt && type %%f | find /i "exe" | find /i "\" >> 地址文件.txt  && echo= >>地址文件.txt) 2>nul

pause

::复制拖入地址

@echo off

title 网络菜鸟愚沐

if "%~1" == "" (echo 复制失败没有可复制对象 && ping -n 3 >nul&&exit) 

echo "%~1" | clip

pause

@echo off

title 网络菜鸟愚沐

setlocal EnableDelayedExpansion

::获取当前目录所有文件夹,并依次改名为 “沐1-沐*”

for /f "tokens=*" %%i in ('dir /ad/b') do (set /a a+=1 &&ren "%%i" "沐!a!" )

pause

@echo off

title 网络菜鸟愚沐

::注册表检查值

set "reg1=HKEY_CLASSES_ROOT\Directory\Background\shell\Item1 /v "MUIVerb" /t REG_SZ"

set "reg2=HKCR\Directory\Background\shell\Item1 /v "Position" /t REG_SZ"

set "reg3=HKCR\Directory\Background\shell\Item1\command /ve /t REG_SZ"

::注册表添加值

set "new1=HKEY_CLASSES_ROOT\Directory\Background\shell\Item1 /v "MUIVerb" /t REG_SZ /d "关机" /f"

set "new2=HKCR\Directory\Background\shell\Item1 /v "Position" /t REG_SZ /d "bottom" /f"

set "new4=HKCR\Directory\Background\shell\Item1" /v "Icon" /t REG_SZ /d "C:\Windows\%~nx0,0" /f"

set "new3=HKCR\Directory\Background\shell\Item1\command /ve /t REG_SZ /d "C:\Windows\%~nx0" /f"

::判断注册表值是否正常

(reg query %reg1% ||goto new

if errorlevel == 0 (

reg query %reg2% ||goto new

if errorlevel == 0 (

reg query %reg3%||goto new

if errorlevel == 0 (goto guanji

))>nul 2>nul

:new

::添加注册表值

reg add %new1% 2>nul||goto admin

reg add %new2%

reg add %new4%

reg add %new3%

::在写这个命令是遇到了一个问题,当时这段语句没有添加 ”exit“命令,但写在这段判断语句后面的命令都没有正常执行就直接退出了,最开始这段代码写在最上方,有知道情况的大神联系我,帮我解惑,谢谢,B站up网络菜鸟愚沐

::判断目录下是否存在关机程序

if not exist "C:\Windows\%~nx0" (move /y "%~0" "C:\Windows\"&&exit)

:guanji

::直接关机

shutdown /f /p

exit

:admin

::获取管理员权限

%1 mshta vbscript:CreateObject("").ShellExecute("","/c %~s0 ::","","runas",1)()&&exit

::批量打印文件名

@echo off

title 网络菜鸟愚沐

setlocal enabledelayedexpansion

::读取目录下所以文件夹

for /d %%a in (*) do (

set /a aa+=1

set cc=0

::获取文件夹下exe文件

for /f "delims=" %%b in ('dir/a-d/b %%a\*.exe') do (

set /a cc+=1

echo 【!aa!】!cc! %%b

)

)

pause

::读取目录下程序数量

@echo off

::读取安装程序目录下有多少exe程序

for /f %%i in ('dir/b/a-d/s C:\"Program Files"\*.exe') do (set /a fn+=1)

if %fn% lss 5 (echo 小于5个文件)

if %fn% geq 5 (echo  大于或等于5个)

echo 共计 %fn% 个

pause

::提取指定行

@echo off

::读取文件打印添加序列号

findstr /n .* >>

set /p m=请输入要定位的行:

::读取指定行信息

findstr   /b "%m%"

pause

::获取管理员权限

@echo off

%1 mshta vbscript:CreateObject("").ShellExecute("","/c %~s0 ::","","runas",1)()&&exit

::保持当前目录下运行

cd /d "%~dp0"

::此方法是我向吾爱大佬Wikin请教而来

::为当前目录下exe添加快捷方式到桌面

@echo off

setlocal enabledelayedexpansion

rem 设置桌面快捷方式目标路径

set "shortcut_target_path=%USERPROFILE%\Desktop"

rem 遍历当前目录下的文件夹

for /d %%F in (*) do (

rem 检查文件夹内是否有且只有一个exe文件

set "exe_count=0"

for %%E in ("%%F\*.exe") do (

set /a "exe_count+=1"

set "exe_path=%%~fE"

)

rem 如果只有一个exe文件,则创建快捷方式

if !exe_count! equ 1 (

set "shortcut_name=%%"

set "shortcut_path=!shortcut_target_path!\!shortcut_name!"

echo Creating shortcut: !shortcut_path!

rem 创建快捷方式

powershell -Command "$WshShell = New-Object -ComObject ; $Shortcut = $('!shortcut_path!'); $ = '!exe_path!'; $()"

) else (

echo Skipping folder "%%F": No exe file or multiple exe files found.

)

)

pause

相关教程

Windows cmd 之特殊符号及变量 - 哔哩哔哩 ()

Windows cmd 之快捷运行程序名 - 哔哩哔哩 ()

Windows cmd 命令教程大全:/read/cv26003229

网络菜鸟愚沐

上一篇:$previous_page['title']}

下一篇:最后一页

推荐阅读