如何用脚本批量创建文件夹?

wen 实用脚本 2

本文目录导读:

如何用脚本批量创建文件夹?

  1. Windows 系统
  2. macOS / Linux 系统
  3. 实战示例
  4. 实用技巧
  5. 推荐工具(无需编程)
  6. 注意事项

我为您总结了多种批量创建文件夹的方法,涵盖了WindowsmacOS/Linux系统,从简单到高级:

Windows 系统

方法1:批处理文件 (.bat)

创建一个 .bat 文件,写入以下内容:

@echo off
md 文件夹1 文件夹2 文件夹3 文件夹4 文件夹5
pause

使用文本列表创建:

@echo off
for /f "delims=" %%i in (list.txt) do (
    md "%%i"
)
pause

然后在同目录下创建 list.txt,每行一个文件夹名。

方法2:PowerShell脚本

# 指定列表创建
$folders = @("项目A", "项目B", "项目C", "项目D")
foreach ($folder in $folders) {
    New-Item -ItemType Directory -Path "C:\目标路径\$folder"
}
# 从文本文件读取
Get-Content "C:\list.txt" | ForEach-Object {
    New-Item -ItemType Directory -Path "C:\目标路径\$_"
}
# 创建编号文件夹 (01-50)
1..50 | ForEach-Object {
    New-Item -ItemType Directory -Path "文件夹_$([String]::Format("{0:D2}", $_))"
}

方法3:VBScript

Set fso = CreateObject("Scripting.FileSystemObject")
folders = Array("文件夹1", "文件夹2", "文件夹3")
For Each folder In folders
    fso.CreateFolder folder
Next

macOS / Linux 系统

方法1:Shell脚本 (bash)

#!/bin/bash
# 基本方法 - 直接创建
mkdir 文件夹1 文件夹2 文件夹3 文件夹4 文件夹5
# 从列表创建
while IFS= read -r folder; do
    mkdir -p "$folder"
done < "list.txt"
# 创建编号文件夹
for i in $(seq -w 1 50); do
    mkdir "文件夹_$i"
done
# 创建日期文件夹
for day in {01..31}; do
    mkdir "2024_01_$day"
done

方法2:一行命令(适合快速操作)

# 创建编号文件夹 (01-20)
mkdir 文件夹_{01..20}
# 创建月份文件夹
mkdir {01..12}_月份
# 从txt文件读取创建
xargs -a list.txt mkdir -p

实战示例

创建项目结构模板

Windows (.bat):

@echo off
md 项目根目录
cd 项目根目录
md docs src tests config
md src\components src\utils src\styles
md docs\api docs\guides
echo 文件夹结构创建完成!
pause

Linux/Mac (bash):

#!/bin/bash
# 创建年/月/日结构
base_path="/home/user/项目备份"
for year in 2024 2025; do
    for month in $(seq -w 1 12); do
        mkdir -p "$base_path/$year/$month"
    done
done

实用技巧

从Excel/CSV导入

将Excel中的文件夹名列表保存为CSV,

PowerShell:

Import-Csv "folders.csv" | ForEach-Object {
    New-Item -ItemType Directory -Path $_.FolderName
}

批量创建含特殊字符的文件夹名

:: Windows需要特殊处理
md "项目 A (2024)" "项目 B (2024)"

自动检查并创建

#!/bin/bash
folders=("images" "videos" "documents")
for folder in "${folders[@]}"; do
    if [ ! -d "$folder" ]; then
        mkdir "$folder"
        echo "创建: $folder"
    else
        echo "已存在: $folder"
    fi
done

推荐工具(无需编程)

  1. Text 2 Folders - Windows软件,直接从文本创建
  2. Bulk Rename Utility - 附带批量创建功能
  3. Advanced Renamer - 支持批量创建

注意事项

  • 文件夹名不要包含 Windows 禁止的字符:\ / : * ? " < > |
  • 建议先用少量测试,确认无误后再批量执行
  • 注意目标路径的权限问题
  • 路径较长时(超过260字符)Windows可能报错

选择哪种方法取决于您的操作系统和具体需求,对于日常使用,推荐PowerShell(Windows)或Shell脚本(Mac/Linux)。

抱歉,评论功能暂时关闭!