bat中for循环遍历txt文件生成文件夹
时间: 2023-08-01 19:10:20 浏览: 92
可以通过以下代码实现:
```
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (mytextfile.txt) do (
set foldername=%%a
mkdir "!foldername!"
)
```
其中,`mytextfile.txt` 是存储文件夹名称的文本文件,每个文件夹名称占一行。`setlocal enabledelayedexpansion` 是启用延迟扩展,以便在循环中使用变量。
`for /f "tokens=*" %%a in (mytextfile.txt)` 表示循环遍历 `mytextfile.txt` 中的每一行,并将其赋值给变量 `%%a`。
`set foldername=%%a` 将遍历的文件夹名称赋值给变量 `foldername`。
`mkdir "!foldername!"` 创建一个以文件夹名称为名的文件夹。注意,由于启用了延迟扩展,因此需要使用 `!` 括起变量名。
最后,保存代码为 `.bat` 文件并运行即可。
相关问题
bat根据txt文件for循环生成文件夹
可以使用以下的bat代码来实现:
```
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (filelist.txt) do (
set "folderName=%%~na"
mkdir "!folderName!"
)
```
其中,filelist.txt 是包含文件名列表的文本文件,每行一个文件名。上述代码将会根据每个文件名创建一个同名的文件夹。
解释一下代码:
- `@echo off` 表示关闭命令行回显。
- `setlocal enabledelayedexpansion` 表示开启延迟变量扩展,用于在循环中更新变量值。
- `for /f "delims=" %%a in (filelist.txt) do (...)` 表示循环遍历 filelist.txt 中的每一行,并将每行的值赋给变量 %%a。
- `set "folderName=%%~na"` 表示将 %%a 的文件名部分(不包括扩展名)赋给变量 folderName。
- `mkdir "!folderName!"` 表示创建一个同名的文件夹。
注意,上述代码应该保存为 .bat 文件,并放在包含 filelist.txt 的文件夹中执行。
bat根据txt文件for循环生成文件夹,txt包含特殊符号、
如果你的 txt 文件中包含特殊符号或者空格,可以使用双引号将文件名括起来,以避免出现问题。下面是一个示例代码:
```
@echo off
for /f "usebackq delims=" %%a in ("file names.txt") do (
mkdir "%%a"
)
```
其中,`usebackq` 选项可以让 `for /f` 命令以引号括起来的文件名作为输入,而不是作为普通的字符串。`delims=` 则表示不使用任何分隔符,默认情况下 `for /f` 命令会以空格、制表符和换行符作为分隔符。最后,`%%a` 表示遍历到的当前文件名。在 `mkdir` 命令中,我们将文件名用双引号括起来,以避免特殊符号或空格导致的问题。
阅读全文