くんすとの備忘録

IT系技術メモ

移転しました。

15秒後に自動的にリダイレクトします。

BATファイルでUCaseとLCase

これは、コマンドプロンプト(cmd.exe) Advent Calendar 2015 - Qiitaの18日目の記事です。

Windows 10 Home 64bit 搭載のcmd.exeにて検証を行っています。


アドベントカレンダーを追いかけてくださっている方はお気づきかもしれませんが……間に合わなかったので20日と記事を入れ替えました!

UCase.bat

@echo off
setlocal ENABLEDELAYEDEXPANSION

set word=%*
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do set word=!word:%%i=%%i!
echo !word!
使用例
C:\Users\kunst\Desktop>UCase abc98ds
ABC98DS

LCase.bat

@echo off
setlocal ENABLEDELAYEDEXPANSION

set word=%*
for %%i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do set word=!word:%%i=%%i!
echo !word!
使用例
C:\Users\kunst\Desktop>LCase abADd%
abadd%


コマンドプロンプトは、入力では大文字と小文字を区別しないのに出力は区別できるということを利用したトリックです。