如何通过bat批处理实现快速生成文件目录,一键生成文件名和文件夹名目录

碰对了情人,相思一辈子。

具体方法步骤:

一、创建一个执行bat文件(使用记事本即可);

1、新建一个txt文本空白记事本文件

2、复制以下内容进记事本内

dir/a/s/b>LIST.TXT

(其中LIST.TXT文件名是提取后将要自动新建的文本文件)

二、记事本保存,文件名可以任意写

三、把保存的文件名后缀.txt改为.bat,这样就形成了一个可以执行的文件

四、把改了名的文件复制到需要输出文件夹和文件名称的文件夹内

五、双击运行bat文件,文件夹会自动生成LIST.TXT文件,里面就包含了该文件夹下的所有文件名称。

附注:

/b是去掉多余信息,其中把/a改/ad 表示只要文件夹,如果改成/a-d则是只要文件,如:

dir/ad/s/b>LIST.TXT (只要文件夹名列表)

dir/a-d/s/b>LIST.TXT(只要文件名列表)

更多命令: dir /b >LIST.TXT (输出干净的文件名,不包括文件夹名)

dir /s /n >list.txt(输出文件名和文件夹列表,并包含文件信息。)

此种方法一次制成批处理文件,可以长期使用,不用每次都新建bat批处理文件或者cmd批处理文件。

你可以使用 Windows 的批处理文件(.bat)来实现快速生成文件目录和一键生成文件名与文件夹名目录的操作。下面是两种常用的方法:

方法一:快速生成文件目录

以下是一个示例的批处理脚本,它可以在指定的路径下创建多层文件夹:

@echo off

setlocal enabledelayedexpansion

set "baseDir=C:\Your\Directory" REM 指定要创建目录的基础路径

for %%i in (Folder1 Folder2 Folder3) do (

set "dirPath=!baseDir!\%%i"

mkdir "!dirPath!"

echo Created directory: "!dirPath!"

)

echo All directories created.

pause

  • 将 baseDir 的值更改为你想要创建目录的基础路径。
  • 在 for 循环中,可以列出要创建的目录的名称,例如 Folder1、Folder2 和 Folder3。
  • 这个批处理脚本会在基础路径下创建指定的目录,并在命令行中显示创建的目录名称。

方法二:一键生成文件名与文件夹名目录

以下是另一个示例的批处理脚本,它可以在指定的路径下创建多层文件夹,并在每个文件夹中创建相同名称的文件:

@echo off

setlocal enabledelayedexpansion

set "baseDir=C:\Your\Directory" REM 指定要创建目录的基础路径

set "fileName=SampleFile.txt" REM 指定要创建的文件名称

for %%i in (Folder1 Folder2 Folder3) do (

set "dirPath=!baseDir!\%%i"

mkdir "!dirPath!"

echo Created directory: "!dirPath!"

set "filePath=!dirPath!\!fileName!"

echo. > "!filePath!"

echo Created file: "!filePath!"

)

echo All directories and files created.

pause

  • 将 baseDir 的值更改为你想要创建目录的基础路径。
  • 将 fileName 的值更改为你要在每个文件夹中创建的文件名称。
  • 在 for 循环中,可以列出要创建的目录的名称,例如 Folder1、Folder2 和 Folder3。
  • 这个批处理脚本会在基础路径下创建指定的目录,并在每个目录中创建相同名称的文件。

将上述代码保存为 .bat 文件,然后双击运行它,就可以快速生成文件目录或一键生成文件名与文件夹名目录了。

如果你想要创建更多层次的目录或在每个文件夹中生成多个文件,你可以通过扩展上述的批处理脚本来实现。下面是一个示例,可以创建多层次的目录结构,并在每个目录中生成多个文件:

@echo off

setlocal enabledelayedexpansion

set "baseDir=C:\Your\Directory" REM 指定要创建目录的基础路径

set "numFolders=3" REM 指定要创建的顶级目录数量

set "numSubfolders=2" REM 指定每个顶级目录下的子目录数量

set "numFiles=3" REM 指定每个目录中要创建的文件数量

for /l %%a in (1,1,%numFolders%) do (

set "topLevelDir=!baseDir!\Folder%%a"

mkdir "!topLevelDir!"

echo Created directory: "!topLevelDir!"

for /l %%b in (1,1,%numSubfolders%) do (

set "subDir=!topLevelDir!\Subfolder%%b"

mkdir "!subDir!"

echo Created directory: "!subDir!"

for /l %%c in (1,1,%numFiles%) do (

set "fileName=File%%c.txt"

set "filePath=!subDir!\!fileName!"

echo. > "!filePath!"

echo Created file: "!filePath!"

)

)

)

echo All directories and files created.

pause

这个批处理脚本使用嵌套的 for 循环来创建多层次的目录结构。你可以通过更改 numFolders、numSubfolders 和 numFiles 的值来指定要创建的目录数量、每个目录下的子目录数量以及每个目录中要生成的文件数量。

将上述代码保存为 .bat 文件,双击运行它,它将会在指定的基础路径下创建多层次的目录结构,并在每个目录中生成多个文件。

请根据你的需求和目录结构设计进行适当的调整和修改。这个示例可以作为一个起点,你可以根据需要扩展和改进它。

相关推荐
yuzhiboyouye几秒前
com.fasterxml.jackson.annotation 里最常用高频的注解,可以按“控制字段、控制格式、控制结构、控制流程”来记
java·开发语言
苜蓿muxu10 分钟前
简述 ConcurrentHashMap 和 CopyOnWriteArrayList 的区别以及各自适用场景
java·编程语言
易小尊11 分钟前
Dixon-Coles 的 τ 函数,我写错了三次
算法
9527!到!16 分钟前
Springboot @value读取配置参数踩坑&推荐解决方案
java·spring boot·spring
十年Java程序媛25 分钟前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
3378035 分钟前
5分钟搞懂Spring的IoC和Bean管理
java
学到老活到老36 分钟前
类已经加载了,为什么静态代码还没执行?
java·jvm
学到老活到老37 分钟前
写了 new,就一定会在堆上分配对象吗?
java·jvm
weixin_4352081637 分钟前
大模型面试宝典—大模型(LLMs)基础面
人工智能·职场和发展·agent
Web极客码40 分钟前
决策模型 + LLM:用 Python 拆解浏览器自动化工作流
java·python·自动化