如何编写一个批处理脚本来从主文件夹中提取所有的子文件夹?
时间: 2024-12-11 09:35:42 浏览: 8
在Windows操作系统上,你可以使用批处理脚本(也称为bat或cmd脚本)通过`dir`命令以及一些循环结构来实现这个任务。下面是一个简单的例子:
```batch
@echo off
setlocal enabledelayedexpansion
for /d %%i in ("%cd%\*") do (
echo Processing folder: %%i
cd "%%i"
copy /b *.* "%cd%\output\%date:~4,2%-%date:~7,2%-%date:~10,4%_%%i.zip"
cd ..
)
echo All folders extracted.
rem 添加清理命令,如果需要将临时文件删除
rd /s /q output > nul 2>&1
endlocal
```
在这个脚本中,
- `@echo off` 关闭命令提示符的回显,隐藏行号。
- `setlocal enabledelayedexpansion` 用于变量的延迟扩展,以便在循环内部修改变量值。
- `for /d %%i in ("%cd%\*") do (...)` 遍历当前目录下的所有子目录 (`*` 表示所有,`/d` 指定只遍历目录)。
- `copy /b *.* ...` 将当前目录下所有文件压缩到一个zip文件中,并使用当前日期作为文件名的一部分。
- `rd /s /q output > nul 2>&1` (可选) 如果存在名为 `output` 的清理目录,会将其删除。
运行此脚本前,请确保替换 "output" 为实际的目标输出路径,然后保存为.bat文件,双击运行即可。
阅读全文