bat遍历当前文件夹,并保存为带bom utf8 的h和cpp
时间: 2024-11-11 19:23:38 浏览: 13
在Windows批处理(bat)脚本中,你可以使用`for /r`命令来递归遍历当前目录及其所有子目录。为了将文件保存为UTF-8带BOM(字节顺序标记)的.h和.cpp文件,你需要先确定编码格式,并确保有适当的工具支持。
以下是一个简单的.bat批处理示例,假设你想要遍历`.\src`目录下的所有`.cpp`和`.h`文件,并转换它们的编码:
```batch
@echo off
setlocal enabledelayedexpansion
rem 定义编码和BOM字符
set FILE_ENCODING=UTF-8&set BOM=efbbbf
rem 遍历源目录及其子目录
for /r "src" %%i in (*.cpp *.h) do (
set FILE_PATH=%%~fi
rem 创建新文件名,添加.bom前缀
set NEW_FILE_NAME=!FILE_PATH:.cpp=.cpp!_utf8 bom
set NEW_FILE_NAME=!NEW_FILE_NAME:.h=.h!_utf8 bom
echo Converting !FILE_PATH! to UTF-8 with BOM...
rem 这里假设你有一个名为iconv.exe的工具(对于Windows环境可能需要找到合适的替代工具)
if exist "iconv.exe" (
iconv -f ANSI -t %FILE_ENCODING% -o "!NEW_FILE_NAME!" "!FILE_PATH!"
) else (
echo Could not find iconv.exe, cannot convert file. Skipping.
)
)
endlocal
```
注意:这个脚本依赖于外部的`iconv.exe`工具来进行文件编码转换,这在Windows系统中可能并不直接可用。如果需要,你可能需要寻找其他支持UTF-8 BOM转换的工具,比如一些文本编辑器(如Notepad++)提供的命令行插件,或者第三方库。
阅读全文