windows中bat脚本编写

#前言
大家都知道python的便利,但是如果这台计算机没有装python环境怎么办,这时为了做一些重复性的工作,就不得不用cmd来编写一些简单的脚本。
希望对大家有点帮助,文末有一些实用的脚本
###基本命令
可以使用windows+R调出运行框,输入cmd

windows中bat脚本编写_第1张图片
也可以按住shitf 右键 有一个“在此处打开命令窗口”,即可在当前路径打开cmd。否则打开之后的路径时当前用户的路径。
一些我感觉没什么用处的命令就不讲了,讲一些实用点的。

dir  	#查看文件/文件夹
msconfig #显示开机启动
ipconfig/all  #查看本机各个网卡的ip地址
cd   #进行目录跳转,但是不能跨磁盘,加上 /D 之后可以进行磁盘间的跳转
md   #新建文件夹
del	 #删除文件
echo  #打印字符
cls	   #清屏
dir | find "test" 
#查找当前目录下的文件 '|'是一种管道机制,是为了将前一个命令的输出作为后一个命令的输入

提示:无论是linux还是windows路径分隔符都可以用’/'

想了解更多?点这里
###实用脚本

for /F "tokens=*" %a in ('dir /A:-D /B') do move "%a" "%a.bak"
#别看只有一行,遍历当前目录,并重命名为.bak

如果保存为.bat文件,那么这个脚本应该这么写,将%a改为%%a.

for /F "tokens=*" %%a in ('dir /A:-D /B') do move "%%a" "%%a.bak"

bat拖拽,将下面代码保存为bat文件,将文件拖拽到上面,即可显示给文件的绝对路径,文件名全名,文件名,扩展名

@echo off
REM 判断文件类型
set "str1=%1"
set "str2=%~nx1"
set "str3=%~n1"
set "str4=%~x1"
REM 文件绝对路径 %1 文件全名%~nx1 文件名 %~n1  扩展名 %~x1
echo "%str1%"
echo "%str2%"
echo "%str3%"
echo "%str4%"
pause

我之前遇到过这么一个问题,接下来给出解决方案
描述:我有一个脱水印的bat,它是通过拖拽来进行工作的。但是每次只能一张一张的拖拽,而我的任务是要脱100张照片的水印,那么我如何减少我的工作量,达到自动化的目的呢!?
其实拖拽的最终目的就是为了获取该文件的路径,因此我们可以简单的修改bat脚本。
最后只能欲哭无泪,没有有效的实现办法。

@echo off
REM 获取所有需要脱水印文件的路径
rem set "str1=%1"
call drag.bat %1
call drag.bat %2
call drag.bat %3
call drag.bat %4
call drag.bat %5
call drag.bat %6
call drag.bat %7
call drag.bat %8
call drag.bat %9
pause

只能是这样了,%1~9分别代表着9个参数,因此我们一次最多只能处理9个文件。
可以说一下思路:利用for命令获取需要脱水印的图片的路径,然后通过call传参给相应的bat
利用%*获取所有的参数(这样就不会有数量的限制了),但是没有办法将这些参数分离开来,在bat中分离字符串是很麻烦的!!
#总结
写的有点水!-.-

你可能感兴趣的:(coding)