首页 > 解决方案 > 如何使用 Bat 文件在目录中的每个文件夹中创建 txt 文件?

问题描述

我正在尝试创建一个批处理文件,该文件在每个目录的子文件夹中创建一个文本文档(“子文件夹名”.txt)。

| Parent Folder:

|--Subfolder 1
|----image01
|----image02
|----image03

|--Subfolder 2
|----image01
|----image02
|----image03

我想做的是:

| Parent Folder:

|--Subfolder 1
|----image01
|----image02
|----image03
|----"Subfolder 1".txt

|--Subfolder 2
|----image01
|----image02
|----image03
|----"Subfolder 2".txt

新创建的文本文件列出了每个子文件夹中的图像。

我所拥有的是:

@echo off
for /r %%g in (*) do (
    for %%i in (*.jpg) do (
        @echo file '%%i' >> list.txt
        )
    )

我知道这for %%i in (*.jpg) do (@echo file '%%i' >> list.txt)可以在一个文件夹中使用(还没有弄清楚如何将其命名为子文件夹名称),但我希望能够为目录中的每个文件夹运行此命令。

但是当我运行代码时,没有创建文本文件。

标签: for-loopbatch-file

解决方案


我认为您正在寻找的是For /D带有标准嵌套循环的For循环:

@For /D %%I In ("Parent Folder\*")Do @(For %%J In ("%%I\*.jpg")Do @Echo %%~nxJ)>"%%I\%%~nxI.txt"

推荐阅读