BAT中大小写转换
时间: 2023-09-21 18:07:58 浏览: 242
可以使用以下BAT脚本实现大小写转换:
```
@echo off
set /p str="请输入一个字符串: "
set str=%str:~0,32767%
set str=%str:~0,32767%
setlocal enabledelayedexpansion
set "output="
for %%a in (%str%) do (
set "word=%%a"
set "first=!word:~0,1!"
set "rest=!word:~1!"
if !first! GEQ a if !first! LEQ z (
set "first=!first:~0,1!"
set "first=!first:u!"
) else if !first! GEQ A if !first! LEQ Z (
set "first=!first:~0,1!"
set "first=!first:l!"
)
set "rest=!rest!"
set "output=!output! !first!!rest!"
)
echo %output:~1%
```
运行这个脚本后,会要求你输入一个字符串,然后将字符串中的所有小写字母转换成大写字母,将所有大写字母转换成小写字母后输出。注意,脚本会将字符串中的空格作为单词的分隔符。
相关问题
批量将include的头文件名大小写改成.h源文件名大小写
批量将`.h`头文件的名称转换成与其对应`.cpp`源文件相同的大小写,通常涉及到文本处理和字符串替换的操作。这在某些项目结构中可能很有用,比如统一命名约定。以下是一个简单的步骤:
1. **打开命令行或终端**:首先,你需要找到包含所有头文件的目录。
2. **定位正则表达式模式**:确定头文件的命名规则,例如,它们通常是`file_name.h`的形式。你可以创建一个正则表达式来匹配这种模式,如`^(\w+)\.h$`,其中`\w+`代表一个或多个字母数字字符。
3. **编写脚本或使用工具**:对于Windows用户,可以使用`findstr`、`ren`等命令结合批处理文件(`.bat`),对于Unix/Linux用户,则可以用`grep -rl`配合`sed`或`rename`命令。例子如下:
对于Unix/Linux:
```
find . -type f \( -iname "*.h" -o -iname "*.H" \) | xargs grep -l "^#include \"\([^"]*\).h$" | xargs sed -i 's/#include "\(.*\)"/#include "\L\1"/'
```
对于Windows batch script:
```batch
@echo off
setlocal enabledelayedexpansion
for /r %%f in (*.h *.H) do (
set "filename=%%~nf"
set "replacement=!filename:.h=.cpp!"
ren "%%f" "!replacement!" >nul
)
```
4. **备份原文件**:为了保险起见,在修改之前最好先备份原始文件。
5. **测试并确认**:完成上述操作后,检查头文件是否已更新为正确的大小写形式,并确保源文件引用无误。
能帮我写一个bat脚本,解析出当前路径下的 app.bin 文件的大小,并且将这个大小值用四个16进制字节保存在 information.bin 文件的前4个字节里面吗,注意 app.bin和information.bin都是二进制文件而不是文本文件
可以的,以下是bat脚本的代码:
@echo off
setlocal enabledelayedexpansion
set "app=app.bin"
set "info=information.bin"
for /f %%a in ('dir /b /s "%app%"') do (
set "size=%%~za"
set /a "byte1=size & 0xff"
set /a "byte2=(size >> 8) & 0xff"
set /a "byte3=(size >> 16) & 0xff"
set /a "byte4=(size >> 24) & 0xff"
set /a "size_hex=(byte4 << 24) + (byte3 << 16) + (byte2 << 8) + byte1"
set /p "=!size_hex!" <nul >"%info%"
exit /b
)
echo "app.bin文件不存在!"
exit /b
注意,这个脚本会在当前路径下查找app.bin文件,如果找到了就会将其大小转换为四个16进制字节并保存在information.bin文件的前4个字节里面。如果app.bin文件不存在,则会输出错误信息。
阅读全文