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