windows中bat脚本编写
#前⾔
⼤家都知道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 "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中分离字符串是很⿇烦的!!
#总结
写的有点⽔!-.-

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。