bat笔记

1 注释

::后面加注释

2 打印当前路径

::使用下面延时命令需要用!!扩起来需要打印的东西

setlocal EnableDelayedExpansion
echo 当前路径 !cd!		::注意这种需要加上面那句

echo 打印当前路径第二种方法 %cd%

echo 打印当前路径第三种方法 %~dp0

3 cmd界面不关闭

pause

4 将路径下所有文件名输出到a.txt中,如果没有a文件,则在bat同一目录下创建一个

~~

dir E:\admin\diskpart\201921050\*.* >a.txt  

5 删除文件

@echo off		::这一句标识不显示命令运行
del a.txt

6 移动拷贝删除文件夹

@echo off
move c:\a.txt c:\code\a.txt 
copy c:\code\a.txt c:\a.txt 
rd c:\code\abc\abc   REM 删除非空文件夹

7

echo %CD%                    #代表当前目录的字符串
echo %DATE%                  #当前日期
echo %TIME%                  #当前时间

8 创建变量

@echo off
set a=aa1bb1aa2bb2
echo a=%a%
::输出a=aa1bb1aa2bb2
set b=12
echo b=%b%
::输出b=12

set /a c=39/10           
echo c=%c%

@echo off
set p=aaa
if %p%==aaa (
      echo %p%
      set p=bbb
      echo %p%
      )
::输出aa aa
@echo off
set p=aaa
if %p%==aaa (
      echo %p%
      set /p p=bbb
      echo %p%
      )
::输出 aaa bbb

9 传递参数 %1第一个参数 %2第二个参数, 以此往后

@echo off
python D:\NodeAndCode\python3\%1	::运行Python文件
pause

10 两个bat文件相互调用

call run.bat for.py	
::call就是调用另一个.bat文件, 
::call name 第一个参数 第二个参数

下面是我抄别人的的

@echo off
title Renamer
echo 指定一个分隔符,将文件名中第一次出现该分隔符以后的内容修改为文件名
echo 有重复名字的文件或以分隔符结尾的文件名会导致重命名失败
echo 处理当前目录下文件,暂时不支持空格或0作为分隔符
set /p input=请指定一个分隔符:
if "%input%"=="" (echo 错误:错误的指定分隔符&pause&exit)
for %%n in (^/,^\,^:,^*,^<,^>,^|,0) do (if "%input%"=="%%n" (echo 错误:错误的指定分隔符&pause&exit))
if "%input%"=="*" (echo 错误:错误的指定分隔符&pause&exit)
if "%input%"=="?" (echo 错误:错误的指定分隔符&pause&exit)
if "%input%"==" " (echo 错误:错误的指定分隔符&pause&exit)
echo on
setlocal enabledelayedexpansion
for /f %%Z in ('dir/b') do (
set fon=%%Z
for /f "tokens=1,2* delims=%input%" %%a in ("!fon:%input%=%input%0%input%!") do (
set ffn=%%c
if not "!ffn:%input%0%input%=%input%!"=="%input%0%input%=%input%" ren "%%Z" "!ffn:%input%0%input%=%input%!")
)
@echo off
cls
echo 处理完成
pause
发布了97 篇原创文章 · 获赞 18 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_32460819/article/details/101000600
bat
今日推荐