您的位置:首页 > 其它

windows中bat脚本编写

2018-03-01 21:40 281 查看

前言

大家都知道python的便利,但是如果这台计算机没有装python环境怎么办,这时为了做一些重复性的工作,就不得不用cmd来编写一些简单的脚本。

希望对大家有点帮助,文末有一些实用的脚本

基本命令

可以使用windows+R调出运行框,输入cmd



也可以按住shitf 右键 有一个“在此处打开命令窗口”,即可在当前路径打开cmd。否则打开之后的路径时当前用户的路径。

一些我感觉没什么用处的命令就不讲了,讲一些实用点的。

dir     #查看文件/文件夹
msconfig #显示开机启动
ipconfig/all  #查看本机各个网卡的ip地址
cd  <path> #进行目录跳转,但是不能跨磁盘,加上 /D 之后可以进行磁盘间的跳转
md  <name> #新建文件夹
del <name> #删除文件
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 "str1=%~nx1"
set "str2=%~n1"
set "str3=%~x1"
REM 文件绝对路径 %1 文件全名%~nx1 文件名 %~n1  扩展名 %~x1
echo "%str1%"
echo "%str2%"
echo "%str3%"
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中分离字符串是很麻烦的!!

总结

写的有点水!-.-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows cmd