回复 1# cmd1152
2.0版本- @Echo off
- ::--------输入检测----------------------------------------------
-
- for %%i in (- / \ [ ] { } ` ~ , . @ # ; = + _) do (
- if /i '%1'=='%%iF' @Goto :File
- )
-
-
- for %%i in (- / \ [ ] { } ` ~ , . @ # ; = + _) do (
- if /i '%1'=='%%iV' @Goto :Variate
- )
-
- for %%i in (- / \ [ ] { } ` ~ , . @ # ; = + _) do (
- if /i '%1'=='%%iI' @Goto :Installs
- )
-
- if /i '%1'=='/?' @Goto :Help
- if /i '%1'=='' @Goto :Help
- if /i '%1'=='help' @Goto :Help
- if /i '%1'=='-h' @Goto :Help
- if /i '%2'=='' @Goto :Help
-
- Echo.命令语句不正确.
-
- @Exit /b
-
- ::--------文件操作----------------------------------------------
-
- :File
- Set $Asc=%3
- For %%i in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
- For %%j in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
- if /i '%$Asc%'=='%%i%%j' @Goto :File_2
- if /i '%$Asc%'=='0x%%i%%j' @Goto :File_3
- )
- )
- Echo.无效数字。数字常数只能是十进制(17),十六位进制(0x11)或八进制(021)。
- Set "$Asc="
- @Exit /b
-
- :File_2
- Echo.%$Asc% > "%~2"
- Certutil -DecodeHex -F "%~2" "%~2" > Nul
- Set "$Asc="
- @Exit /b
-
- :File_3
- Set "$Asc=%$Asc:~2%"
- Echo.%$Asc% > "%~2"
- Certutil -DecodeHex -F "%~2" "%~2" > Nul
- Set "$Asc="
- @Exit /b
-
- ::--------变量操作----------------------------------------------
-
- :Variate
- Set $Asc=%4
- For %%i in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
- For %%j in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
- if /i '%$Asc%'=='%%i%%j' @Goto :Variate_2
- if /i '%$Asc%'=='0x%%i%%j' @Goto :Variate_3
- )
- )
- Echo.无效数字。数字常数只能是十进制(17),十六位进制(0x11)或八进制(021)。
- Set "$Asc="
- @Exit /b
-
- :Variate_2
- Echo.%$Asc% > "%~2"
- Certutil -DecodeHex -F "%~2" "%~2" > Nul
- Set "$Asc="
- Set /p %~3=0<"%~2"
- if exist "%~2" del "%~2"
- @Exit /b
-
- :Variate_3
- Set "$Asc=%$Asc:~2%"
- Echo.%$Asc% > "%~2"
- Certutil -DecodeHex -F "%~2" "%~2" > Nul
- Set "$Asc="
- Set /p %~3=0<"%~2"
- if exist "%~2" del "%~2"
- @Exit /b
-
- ::--------安装Ascii---------------------------------------------
-
- :Installs
- Md "%~2" >nul 2>nul
- For %%i in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
- For %%j in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
- Echo.%%i%%j > "%~2\0x%%i%%j%~3"
- Certutil -DecodeHex -F "%~2\0x%%i%%j%~3" "%~2\0x%%i%%j%~3" > Nul
- )
- )
- Set "$Asc="
- @Exit /b
-
- ::--------函数--------------------------------------------------
-
- ::--------帮助信息----------------------------------------------
- :Help
- Echo.
- Echo.Ascii [Version 1.0.0002]
- Echo.
- Echo.(C) Copyright 2021-2021 Hope ^& Cmd1152 Corp.
- Echo.
- Echo.对Ascii字符进行存取和处理.
- Echo.
- Echo.如果启用命令扩展,则会支持下列 Ascii 命令的其他格式:
- Echo.
- Echo.Ascii -F "FileName" HexCode
- Echo.
- Echo. FileName 存储 Ascii 码的文件名.
- Echo. HexCode 十六进制数字,使用此数字来获取 Ascii 码的字符.
- Echo. HexCode可以带有前缀0x.
- Echo.
- Echo. 以下范例可能有帮助:
- Echo.
- Echo. Ascii -F "Hope.ini" 0xff
- Echo. Ascii -F "Hope.ini" ff
- Echo.
- Echo. 会获取 Ascii 码为 0xff 的字符,并将其存储到 Hope.ini 中.
- Echo.
- Echo.Ascii -V "TempName" "VariateName" HexCode
- Echo.
- Echo. TempName 临时文件名,使用完毕后将会自动删除.
- Echo. VariateName 存储 Ascii 码的变量名.
- Echo. HexCode 十六进制数字,使用此数字来获取 Ascii 码的字符.
- Echo. HexCode可以带有前缀0x.
- Echo.
- Echo. 以下范例可能有帮助:
- Echo.
- Echo. Ascii -V "Hope.ini" "Temp" 0xff
- Echo. Ascii -V "Hope.ini" "Temp" ff
- Echo.
- Echo. 会获取 Ascii 码为 0xff 的字符,并将其存储到 Temp 中,且初始化 Hope.ini 文件.
- Echo.
- Echo.Ascii -I "DirectoryName" "Filename Extension"
- Echo.
- Echo. DirectoryName 存储所有标准Ascii码文件的目录.
- Echo. Filename Extension 存储 Ascii 码的文件的拓展名.
- Echo.
- Echo. 以下范例可能有帮助:
- Echo.
- Echo. Ascii -I "Hope" ".Chr"
- Echo.
- Echo. 会获取所有 Ascii 码的字符,并将其存储到 Hope 目录中,生成0x00-0xff.Chr文件.
- Echo.
- Echo.注意:
- Echo.
- Echo.以上所有命令都会初始化$Ascii、$AscMap以及$Asc变量,请勿在您的批处理中使用它们.
- @Exit /b
复制代码
|