wwwwwllllk 发表于 2022-8-13 10:38:50

批量更改文件名,批量解压文件,批量移动

现在为了防止和谐一些内容下载的是exe文件,我需要改为zip文件然后统一压缩。现在我们看下如何实现

!(data/attachment/forum/202208/13/103447gosmd8cv03l4xxvd.png)

其实这个脚本也是可以放到桌面的,但是路径就要写绝对路径而不是当前页面的,我刚开始写在桌面报错了,懒得解决,所以我就直接把脚本放到要解压的文件夹里面,这里它就会默认在当前文件里面执行,也不用写路径了

# 如何批量修改文件夹名字

```bat
// 这一步很简单,就是我把所有的exe改成zip,你写成ren *.png *.git就是把所有图片后缀为png改为gif
ren *.exe *.zip   
```

!(data/attachment/forum/202208/13/103544pqou7uuoh4uulphn.png)

# 批量解压缩

这里其实可以直接通过鼠标ctrl选中全部的zip文件然后右键来解压缩。但是我觉得既然写了这个东西就要一步到位。
所以看下脚本怎么实现。这里我电脑下载的是Banzip解压缩软件,别的网上也有,但是可能自己需要稍微改动一下才可以用。
这里应该默认下载banzip这个软件它就默认配置了环境变量了,没有的确认一下。我这里是有的。
!(data/attachment/forum/202208/13/103641tzxcgk91qbcxkx1e.png)

%%a 为变量,/r 为递归方式,in 与 do 之间一定要有 ()。

```bat
// 第一行代码是把所有zip文件进行解压
for %%a in ("*.zip") do Bandizip.exe x-o:.\ "%%a"
// 第二行是把所有的.mp4后缀的视频全部移动到一个文件夹,这里我本来想直接设置解压路径一步到位的,但是没有成功,又懒得花时间找了,所以采用了这种方式。
for /r %%a in (*.mp4) do move %%a E:\shipin\dianying\Sparta-cus\Sparta.cus-S01\jieya
pause
```

这里还有一个问题,就是解压完成一个banzip会默认让我们点击关闭才解压下一个,这里我们打开banzip设置一下。

```bat
// 这一行代码是解压以后是否要删除之前的zip文件,这个自己确定要不要加
del "%%a"
```

!(data/attachment/forum/202208/13/103756b3zmsmaauz73a7qs.png)

!(data/attachment/forum/202208/13/103814soxow8x51kskogkb.png)

!(data/attachment/forum/202208/13/103844v97385sx38y3hs9t.png)

cxxjackie 发表于 2022-8-13 12:41:32

批处理啊,我偶尔也会写一点,winrar的指令好像要更灵活一点,就是这个批处理的语法实在太反人类了,特别是for循环,写的我想吐{:4_88:}

MiracleL 发表于 2022-8-23 11:10:03

挺方便的,正好用到
页: [1]
查看完整版本: 批量更改文件名,批量解压文件,批量移动