mode命令:
示例一:改变DOS窗口的尺寸:mode con cols=100 lines=40则DOS窗口的尺寸将会变为40行100列的
示例二:让DOS下显示的语言为美式英语,mode con cp select=437 (简体中文936)
示例三:改变键盘速度及键盘延迟,mode con rate=40 delay=2 (默认:rate=31 delay=1)
示例四: 查看命令行 行列参数、键盘速度、键盘延迟数及代码页是多少,则输入:mode con
(一)MD——建立子目录
例:(1)在C盘的根目录下创建名为FOX的子目录;md fox (2)在FOX子目录下再创建user子目录。md fox\user
(二)CD——改变当前目录
例:(1)进入到USER子目录;cd fox\user(2)从USER子目录退回到子目录;cd .(3)返回到根目录。cd \
(三)RD——删除子目录命令
第一步:先将USER子目录下的文件删空;del fox\user\* 第二步,删除USER子目录。rd fox\user
(四)DIR——显示磁盘目录命令
(五)PATH——路径设置命令
(六)TREE——显示磁盘目录结构命令
(七)del——删除整个文件夹下的文件
CMD获取当前目录的绝对路径
@echo off
echo 当前盘符:%~d0
echo 当前盘符和路径:%~dp0
echo 当前批处理全路径:%~f0
echo 当前盘符和路径的短文件名格式:%~sdp0
echo 当前CMD默认目录:%cd%
echo 目录中有空格也可以加入""避免找不到路径
echo 当前盘符:"%~d0"
echo 当前盘符和路径:"%~dp0"
echo 当前批处理全路径:"%~f0"
echo 当前盘符和路径的短文件名格式:"%~sdp0"
echo 当前CMD默认目录:"%cd%"
pause
.bat批处理(三):变量声明、设置、拼接、截取
-
@echo off
-
::设置变量
-
SET Sender1=%1
-
SET Sender2=%2
-
SET Receiver=%3
-
SET Content=%4
-
::字符串拼接
-
SET Sender = %Sender1%, %Sender2%
-
::字符串截取
-
SET RealContent=%Content:~1,-1%
-
echo Sender = %Sender%
-
echo ---------------------------------/
-
echo Receiver = %Receiver%
-
echo ---------------------------------/
-
echo Content = %Content%
-
echo ---------------------------------/
-
echo RealContent = %RealContent%
-
echo ---------------------------------/
- 运行结果如下:
F:\batTool>
test_set.bat tom jerry xiaoming "I miss you"
Sender = tom, jerry
———————————/
Receiver = xiaoming
———————————/
Content = “I miss you”
———————————/
RealContent = I miss you
———————————/
总结
- 这其中有几个点需要注意,首先变量设置只需要使用
SET 任意变量名=所要表达的内容
; - 变量的拼接只要把变量依次写在一起就可以,形如
SET 变量=变量1变量2 内容3,字符串4
,不同部分之间可以没有连接符,直接相连或者用空格。 - 变量的截取需要使用固定的格式
%变量:~a,b%
,这就表示把变量从第a个字符截取到第b个字符,b可以为负数,表示从字符串后面计数,-1表示最后一个字符。 - 关于例子中信息内容这最后一个参数,其中的双引号使我故意加的,也是非常必要的,这样可以把这句包含空格的话作为一个变量传递到批处理脚本中,如果不加双引号的话,变量Content的内容就是
I
了,后两个单词就被丢掉了。
find "要查询的字符串" 要查询文件的路径
-
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ ...]
-
/V 显示所有未包含指定字符串的行。
-
/C 仅显示包含字符串的行数。
-
/N 显示行号。
-
/I 搜索字符串时忽略大小写。
-
/OFF[LINE] 不要跳过具有脱机属性集的文件。
-
"string" 指定要搜索的文本字符串。
-
[drive:][path]filename
-
指定要搜索的文件
find "123" d:\1.txt
ipconfig |find /I "ipv4"
bat读取文件
@echo off
rem bat命令读取文件示例
rem 判断文件是否存在
if not exist versions.txt (
echo versions.txt file not exist
goto end
)
rem 读取文件,每次读取一行,默认以空格分隔,默认取第一列
for /f %%i in ('type versions.txt') do (
echo %%i
)
rem tokens用来指定获取的列数
rem tokens=1-2,表示取第1列到第2列的内容
rem tokens=1,2,表示取第1列和第2列的内容
rem tokens=*,表示取整行
for /f "tokens=*" %%i in ('type versions.txt') do (
echo %%i
)
for /f "tokens=1-2" %%i in ('type versions.txt') do (
echo %%i %%j
)
rem 修改分隔符为.号
rem delims=.-,表示以.或者-分隔
for /f "delims=." %%i in ('type versions.txt') do (
echo %%i
)
:end
echo Press any key to continue
pause
批处理bat 删除指定文件夹下的文件及文件夹
1.针对仅仅是删除文件夹下的文件的操作:
使用del命令,单纯的删除文件操作,如下:
del /f /s /q C:\Users\dell\AppData\Local\Temp\*.*
2.删除文件夹操作
使用rd命令,删除空文件夹,如下:
rd /s /q C:\Users\dell\AppData\Local\Temp\A
3.删除文件和文件夹操作:
使用的是del命令+rd命令,先删除文件,在进入相应文件夹删除文件夹下的文件夹,如下:
del /f /s /q C:\Users\dell\AppData\Local\Temp\*.*
cd C:\Users\dell\AppData\Local\Temp
rd /s /q C:\Users\dell\AppData\Local\Temp