当前位置:   article > 正文

bat批处理的基本命令和使用方法总结_bat批处理命令大全

bat批处理命令大全

批处理命令是一种用于在 Windows 操作系统中自动执行任务的工具。批处理命令通常以 .bat 或 .cmd
为扩展名。一些常用的批处理命令如下:

echo:用于在控制台显示文本信息。

set:用于创建或修改环境变量。

if:用于在批处理文件中进行条件判断。

for:用于循环读取文件或列表中的数据。

goto:用于跳转到批处理文件中的指定标签。

call:用于调用另一个批处理文件。

md:用于创建新的目录。

cd:用于切换到当前目录。

del:用于删除文件。

copy:用于复制文件。

xcopy:用于复制目录。

start:用于启动应用程序或文件。

taskkill:用于终止运行的任务。

ping:用于测试网络连接。

netstat:用于显示网络状态。

如果你感兴趣,可以私信提问

echo:使用 echo 命令可以在控制台显示文本信息,例如:

echo Hello World!
  • 1

set:使用 set 命令可以创建或修改环境变量,例如:

set name=John
echo My name is %name%
  • 1
  • 2

if:使用 if 命令可以在批处理文件中进行条件判断,例如:

set num=10
if %num% lss 20 (
  echo %num% is less than 20
) else (
  echo %num% is greater than or equal to 20
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

for:使用 for 命令可以循环读取文件或列表中的数据,例如:

for /f "tokens=1" %i in (file.txt) do (
  echo %i
)
  • 1
  • 2
  • 3

goto:使用 goto 命令可以跳转到批处理文件中的指定标签,例如:

goto start
echo This line will not be executed
:start
echo This line will be executed
  • 1
  • 2
  • 3
  • 4

call:使用 call 命令可以调用另一个批处理文件,例如:

call sub.bat
echo This line will be executed after sub.bat
  • 1
  • 2

md:使用 md 命令可以创建新的目录,例如:

md 123456
  • 1

cd:使用 cd 命令可以切换到当前目录,例如:

cd newfolder
  • 1

del:使用 del 命令可以删除文件,例如:

del file.txt
  • 1

copy 命令可以复制文件,例如:

copy source.txt destination.txt
  • 1

实例:复制007.txt到当前目录的所有子目录里

在复制 “007.txt” 到子目录之前,使用 if exist 命令判断子目录中是否已经存在 “1.txt”。如果存在,则复制该文件。否则,不复制。并且做出相应的提示在运行该脚本之前,请确保 “1.txt” 在当前目录中。

@echo off

for /d %%d in (*) do (
  if exist "%%d\007.txt" (
    echo %%d"...........exist..............."
  ) else (
    copy 007.txt "%%d\"
  echo %%d "...........ok..............."
  )
)
pause
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

xcopy:使用 xcopy 命令可以复制目录,例如:

xcopy sourcefolder destinationfolder /s
  • 1

pause:使用 pause 命令可以暂停批处理文件的执行,等待用户按下任意键,例如:

pause
  • 1

以下是一些其他例子:来源于回答贴吧网友提问

复制多个 txt 文件中固定两行位置的数据,并把读取的数据一起放到同一个新的 txt 文件。

@echo off
set "outputfile=output.txt"

REM 清空输出文件
echo. > %outputfile%

REM 遍历所有 txt 文件
for /f "delims=" %%i in ('dir /b *.txt') do (
  REM 读取每个文件的第二行和第三行
  for /f "skip=1 tokens=*" %%j in ('type "%%i"') do (
    echo %%j >> %outputfile%
    goto :next
  )
  :next
  for /f "skip=2 tokens=*" %%j in ('type "%%i"') do (
    echo %%j >> %outputfile%
  )
)

echo 数据已经提取到文件 %outputfile% 中。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

用批处理文件自动连接网络大打印机,win7,win10通用那种

@echo off
set printer=\\network-printer\printer-name
rundll32 printui.dll,PrintUIEntry /in /n "%printer%"
  • 1
  • 2
  • 3

该脚本使用 rundll32 命令连接网络打印机。您只需要修改 printer 变量的值,替换为网络打印机的名称和路径即可。在运行该脚本之前,请确保您已经有了访问网络打印机的权限。

把文件名末尾 -数字 消去,并重新命名。例如ab-cd-0102.jpg修改成ab-cd.jpg ,jui-eh-dj-02088.jpg修改成jui-eh-dj.jpg

@echo off
for %%i in (*.*) do (
  set "filename=%%~ni"
  set "extension=%%~xi"
  set "newname="
  
  REM 如果文件名的最后四个字符为 "-数字" 格式,则去掉这个后缀
  if "!filename:~-5!"=="-?????" (
    set "newname=!filename:~0,-6!!extension!"
  ) else (
    set "newname=%%i"
  )

  REM 如果新文件名与原文件名不同,则重命名文件
  if not "!newname!"=="%%i" (
    echo 重命名 "%%i" 为 "!newname!"
    ren "%%i" "!newname!"
  )
)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

该脚本使用 for 循环遍历当前目录下的所有文件,将每个文件名的最后四个字符与 “-数字” 进行比较,如果是该格式,则将其去掉。如果新文件名与原文件名不同,则重命名文件。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/73444
推荐阅读
相关标签
  

闽ICP备14008679号