几个实用的 Bat 脚本命令

文章目录

    • 截图
    • 息屏
    • 锁屏
    • 查看当前的路径
    • 倒计时
    • 密码输入
    • 比较两个文本的差异

截图

start snippingtool

息屏

powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)

锁屏

powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2)

rundll32.exe user32.dll LockWorkStation

查看当前的路径

@echo off

echo 当前盘符:%~d0 
echo.
echo 当前路径:%cd%
echo.
echo 当前盘符和路径:%~dp0 
echo.
echo 当前批处理全路径:%~f0 
echo.
echo 当前盘符和路径的短文件名格式:%~sdp0 
echo.
echo 当前 CMD 默认目录:%cd% 
echo.

pause

倒计时

@echo off
SET Countdown=30

:Count
        set /a Countdown=Countdown-1
        ping -n 2 -w 500 127.1>nul
        cls

        @echo 日期: %date%
        @echo.
        @echo 时间: %time%
        @echo.
        @echo 倒计时: %Countdown% 秒
        @echo.

if %Countdown%==0 (
	<倒计时为 0 时执行的操作>
) else (
	goto Count
)

密码输入

@echo off
set count = 0
REM REM 设置计数

:Input_password
        set /p string=Password:
        set /a count = %count% + 1

if "%string%" == "password_123" goto Pass_password
REM REM 如果密码匹配则进入 Pass_password 代码块

if %count% == 3 goto Quit
REM REM 如果尝试次数达到三次则进入 Quit 代码块

goto Input_password

:Pass_password
        echo You got the correct password! ^^_^^
        REM REM 验证正确密码的功能区

:Quit
        echo Press any key to continue!
        pause>nul
        exit

比较两个文本的差异

@echo off
set n=0
setlocal enabledelayedexpansion

(for /f "delims=" %%i in (test1.txt) do (
        set /p str=
        set /a n+=1
        if not "!str!"=="%%i" (
				echo. 第 !n! 行不同!
				echo. txt1 第 !n! 行: %%i
				echo. txt2 第 !n! 行: !str!
				echo.
        )
))<"test2.txt"

pause

实现效果如下图:

几个实用的 Bat 脚本命令_第1张图片

你可能感兴趣的:(批处理,(Bat),windows)