bat根据txt文件for循环生成文件夹,txt包含特殊符号、指定字符集
时间: 2023-08-21 13:04:15 浏览: 100
可以使用以下bat脚本来实现:
```batch
@echo off
setlocal enabledelayedexpansion
set "filename=file.txt" REM 替换为txt文件的路径
set "encoding=utf-8" REM 替换为txt文件的字符集
for /f "usebackq delims=" %%a in (`type "%filename%" ^| chcp 65001 ^| find /v ""`) do (
REM 处理特殊符号,将%%a中的特殊符号替换为下划线
set "foldername=%%a"
set "foldername=!foldername:~0,128!" REM 截取最大128个字符
set "foldername=!foldername:?=_!"
set "foldername=!foldername:^=^_!"
set "foldername=!foldername:<=_!"
set "foldername=!foldername:>=_!"
set "foldername=!foldername:/=_!"
set "foldername=!foldername:\=_!"
set "foldername=!foldername:|=_!"
set "foldername=!foldername:"=!"
set "foldername=!foldername:*=!"
set "foldername=!foldername:%%=!"
set "foldername=!foldername:?=!"
REM 创建文件夹
md "!foldername!" 2>nul
REM 将文件夹的字符集设置为指定的字符集
chcp 65001>nul
set "foldername=!foldername!"
chcp !encoding!>nul
)
```
在脚本中,我们首先读取了txt文件的内容,然后针对每一行内容进行处理。对于特殊符号,我们使用了一系列替换操作,将特殊符号替换为下划线。然后使用md命令创建文件夹,并使用chcp命令将文件夹的字符集设置为指定的字符集。
阅读全文