init commit
This commit is contained in:
commit
1e85464dea
234
BigChar.au3
Normal file
234
BigChar.au3
Normal file
@ -0,0 +1,234 @@
|
||||
#NoTrayIcon
|
||||
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||
#AutoIt3Wrapper_Change2CUI=y
|
||||
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||
|
||||
Global $Row0 = " # # "
|
||||
Global $Row1 = " # # # ## ## ### ### # # # # # # # # # # # # "
|
||||
Global $Row2 = " # #### #### #### ##### ##### ### ## ####### ######## ##### ## ## ## ### ### #### ### #### #### ##### ## #### ### # # ## ## ## ## ##### ## ## ### ## # # ## ### ### # ### ### # ##### ### ##### ### ### # ### # # #### # # # # # # # # # # # # # # # ### # ## # # # # "
|
||||
Global $Row3 = " # # # # # # # # # # # # # # # # # # # # ## ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # "
|
||||
Global $Row4 = " ## # # # # # # # # # # # # # # # # # ## ## ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## ####### # # ## # # # # # ##### # # # # # # # # # # # # # # # "
|
||||
Global $Row5 = " # # ### # # # ### ### # #### # # ## # ## ## ## # # # ### # # ### ## # # # # # ### # # # ## ### ### ### ## #### #### ### ## ## # ### # #### #### ## #### ### ## ## #### ### ## ## ### ### # # ## ## ### ## #### # # # # ## # # #### #### # ### # # # # # # # # ## # # ### # # ##### ##### # # # # # # # # # # #### # "
|
||||
Global $Row6 = " # # # # # # # # # # # # ### # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # #### # # # # # # ## # # ### # # # # # # # # # # # # # # # # "
|
||||
Global $Row7 = " #### # # # # # # # # # # # # # # # # # # # # ## # # # ### # # # # # # # ## # # # # # # ### # # # # # #### # ## # # # # ### # # # # # # # # # # # # # ## # # # # # ### # # # # # # # # # #### # # # # # # # # # ### ###### # # ## ## # # # # ##### # # # # # # # # # # # # # # "
|
||||
Global $Row8 = " # # # # # # # # # # # # # # # # # # # # ## # # # # # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ## # # # # ## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # "
|
||||
Global $Row9 = "## ###### ### #### ##### ### ## ## ####### # # ### ######### # # ### # ### ### ### ### ###### ### ## # # # ## ## ### ##### #### ### ### #### ### #### #### ### ## ### # ### ####### # # # ### ## ## ### ### ### #### ## #### # # # ## ## # #### ### ### ##### ### ## ### ### # ### ### # #### # # #### # # # # # # # # # # # # # # # # # ## ## # "
|
||||
Global $Row10 = " ### ## # # # # # # # # # ## ## ### ### # # # # "
|
||||
Global $Row11 = " ### ### ### ### ## ###### # # "
|
||||
|
||||
;Global $Row0 = " "
|
||||
;Global $Row1 = " # # ### # ## ## # ### # # ### # ### # # # # ## ## ### ### # # # # ## # ### # "
|
||||
;Global $Row2 = " # #### ### #### #### #### #### # # ##### #### # # # # # # # #### #### ### ### #### ##### # # # ## ## # # # ##### # # # # # # # ### ## ### ### ## #### ### ##### ### ### # # ## # # ### # # # # # # # # # # # # # # # # ## # # # # # "
|
||||
;Global $Row3 = " # # # # ## # ## # # # # # # # # # # # # ## # ## ## # ### # # # # # # # # ## # # # # # # ### #### ### #### ### # ######### ### #### # # # ##### #### ### #### #### #### ### ##### # # # ## ### ## # # #### # # # # # # # # # # ## # # # # # # # # # # # # #### ### # # # # # # # ## ## # # # # # # # # # # # # # "
|
||||
;Global $Row4 = " # # # # # # # # # # # # # # # # # # ## # ## # # # # ## # # # # # # # # ## # ## # # # # ## # ## # # # ###### # # # # # # # # # # # # # # # # ## # # # # # # # # # # ## # # # # # # # # ## # # # # # # # # ## # # # # # # ####### # # # # # # # # # # # # # ## ## # # # # # # # ## # "
|
||||
;Global $Row5 = " # # #### # # # #### #### # ## #### # # ## # # ## # ## # # # #### # # ### ### # # # # # # ## # ## # # #### # # # # # ##### # # # # # # # ## # # # # # # # # # # # # # ## # # # # ## # # ## # # # # # # # # ## # # ### #### # ### #### # # ## # # # ### # # # # ##### ####### ## # # # # # ## # ### # ### # # "
|
||||
;Global $Row6 = "##### # # # # # # # # # # # # # # # # # # # ## # # # # # # # # # # # # # #### ## # # # # # # # # # # # #### # # # # ## # # # # # # # # # # # # # ## # # # # # # ### ## # # # ## # # # # ###### # # # # # ## # # # ## ####### # # # ### # # ### # # # # # # # # # # # ### # ## # "
|
||||
;Global $Row7 = "# # # # ## # ## # # ## # # # # # # # # # # # ## ## ## # # ## # # # # # # # # # ## # # # # # ## # # # # ## ## # # # # # # # # # # # # # # # # # # # ## # # # # # # # ## ## # # ## # # # # # # # # # # # # # # # ### # # # # # # # # # ##### # # # # # ## ## # # # ## ## # # # # "
|
||||
;Global $Row8 = "# # #### ### #### #### # #### # # ##### ### # # #### # # # # #### # ### # # #### # ### # # # ## ## # #### #### #### ### ## # #### # ##### # # #### # # # #### # # # # # ### #### ## # # ### ### #### # # # ## ## # #### ### ##### ##### ### # ### ### # ### ### # # # # #### # ### # # # # # # ## ## # # # ## ## # # ##### # "
|
||||
;Global $Row9 = " # # # # # # # # # # # # # # # ## # ## # # "
|
||||
;Global $Row10 = " ## #### ### # # ### #### # # ###### ## ## ### ### ## ## # "
|
||||
;Global $Row11 = " "
|
||||
|
||||
Func _Big_CHR($String, $Ins = "#")
|
||||
If @NumParams < 1 Then
|
||||
Return 0
|
||||
ElseIf @NumParams = 1 Then
|
||||
Local $InsX = "#"
|
||||
Else
|
||||
Local $InsX = $Ins
|
||||
$InsX = StringLeft($InsX, 1)
|
||||
EndIf
|
||||
|
||||
Local $SrcString = $String
|
||||
Local $SrcStringLenth = StringLen($SrcString)
|
||||
|
||||
Local $Big_Type_Str0
|
||||
Local $Big_Type_Str1
|
||||
Local $Big_Type_Str2
|
||||
Local $Big_Type_Str3
|
||||
Local $Big_Type_Str4
|
||||
Local $Big_Type_Str5
|
||||
Local $Big_Type_Str6
|
||||
Local $Big_Type_Str7
|
||||
Local $Big_Type_Str8
|
||||
Local $Big_Type_Str9
|
||||
Local $Big_Type_Str10
|
||||
Local $Big_Type_Str11
|
||||
|
||||
For $j = 1 To $SrcStringLenth Step 1
|
||||
Local $Src_Head = StringLeft($SrcString, 1)
|
||||
$SrcString = StringTrimLeft($SrcString, 1)
|
||||
Local $Big_Type_Num = _SringNum($Src_Head)
|
||||
If $Big_Type_Num = 0 Then
|
||||
ConsoleWrite(@CRLF & "Error: Character(s) Not Supported." & @CRLF)
|
||||
Return 1
|
||||
EndIf
|
||||
|
||||
Local $Big_Type_Pos
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str0 &= StringMid($Row0, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str1 &= StringMid($Row1, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str2 &= StringMid($Row2, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str3 &= StringMid($Row3, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str4 &= StringMid($Row4, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str5 &= StringMid($Row5, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str6 &= StringMid($Row6, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str7 &= StringMid($Row7, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str8 &= StringMid($Row8, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str9 &= StringMid($Row9, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str10 &= StringMid($Row10, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
$Big_Type_Pos = ($Big_Type_Num-1)*6
|
||||
For $k = 1 To 6 Step 1
|
||||
$Big_Type_Pos += 1
|
||||
$Big_Type_Str11 &= StringMid($Row11, $Big_Type_Pos, 1)
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
Local $Big_Type_Str = $Big_Type_Str0 & @CRLF _
|
||||
& $Big_Type_Str1 & @CRLF _
|
||||
& $Big_Type_Str2 & @CRLF _
|
||||
& $Big_Type_Str3 & @CRLF _
|
||||
& $Big_Type_Str4 & @CRLF _
|
||||
& $Big_Type_Str5 & @CRLF _
|
||||
& $Big_Type_Str6 & @CRLF _
|
||||
& $Big_Type_Str7 & @CRLF _
|
||||
& $Big_Type_Str8 & @CRLF _
|
||||
& $Big_Type_Str9 & @CRLF _
|
||||
& $Big_Type_Str10 & @CRLF _
|
||||
& $Big_Type_Str11 & @CRLF
|
||||
$Big_Type_Str = StringReplace($Big_Type_Str, "#", $InsX)
|
||||
ConsoleWrite($Big_Type_Str)
|
||||
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _SringNum($String)
|
||||
Local $Big_Type_String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
|
||||
Local $Big_Type_Num = _SringNumPlus($String)
|
||||
If $Big_Type_Num = 0 Then
|
||||
$Big_Type_Num = StringInStr($Big_Type_String, $String, 1)
|
||||
If $Big_Type_Num = 0 Then
|
||||
Return 0
|
||||
Else
|
||||
Return $Big_Type_Num
|
||||
EndIf
|
||||
Else
|
||||
Return $Big_Type_Num
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _SringNumPlus($String)
|
||||
Local $Big_Type_Num = 0
|
||||
;Switch $String
|
||||
If $String == "!" Then $Big_Type_Num = 63
|
||||
If $String == "@" Then $Big_Type_Num = 64
|
||||
If $String == "#" Then $Big_Type_Num = 65
|
||||
If $String == "$" Then $Big_Type_Num = 66
|
||||
If $String == "%" Then $Big_Type_Num = 67
|
||||
If $String == "*" Then $Big_Type_Num = 68
|
||||
If $String == "(" Then $Big_Type_Num = 69
|
||||
If $String == ")" Then $Big_Type_Num = 70
|
||||
If $String == "-" Then $Big_Type_Num = 71
|
||||
If $String == "_" Then $Big_Type_Num = 72
|
||||
If $String == "=" Then $Big_Type_Num = 73
|
||||
If $String == "+" Then $Big_Type_Num = 74
|
||||
If $String == "{" Then $Big_Type_Num = 75
|
||||
If $String == "}" Then $Big_Type_Num = 76
|
||||
If $String == "[" Then $Big_Type_Num = 77
|
||||
If $String == "]" Then $Big_Type_Num = 78
|
||||
If $String == ":" Then $Big_Type_Num = 79
|
||||
If $String == ";" Then $Big_Type_Num = 80
|
||||
If $String == '"' Then $Big_Type_Num = 81
|
||||
If $String == "'" Then $Big_Type_Num = 82
|
||||
If $String == "\" Then $Big_Type_Num = 83
|
||||
If $String == "<" Then $Big_Type_Num = 84
|
||||
If $String == ">" Then $Big_Type_Num = 85
|
||||
If $String == "," Then $Big_Type_Num = 86
|
||||
If $String == "." Then $Big_Type_Num = 87
|
||||
If $String == "?" Then $Big_Type_Num = 88
|
||||
If $String == "/" Then $Big_Type_Num = 89
|
||||
If $String == "~" Then $Big_Type_Num = 90
|
||||
If $String == "^" Then $Big_Type_Num = 91
|
||||
If $String == "&" Then $Big_Type_Num = 92
|
||||
If $String == "|" Then $Big_Type_Num = 93
|
||||
If $String == " " Then $Big_Type_Num = 94
|
||||
Return $Big_Type_Num
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _Big_Char()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/CHR String [Instead=#]" & @CRLF _
|
||||
& "Usage:" & @TAB & "Print a string with big font by a specified character." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[0] = 2 Then
|
||||
Local $String = $CMDLINE[2]
|
||||
_Big_CHR($String, "#")
|
||||
Exit 0
|
||||
Else
|
||||
Local $String = $CMDLINE[2]
|
||||
Local $Ins = $CMDLINE[3]
|
||||
_Big_CHR($String, $Ins)
|
||||
Exit
|
||||
EndIf
|
||||
EndFunc
|
75
ChgRes.au3
Normal file
75
ChgRes.au3
Normal file
@ -0,0 +1,75 @@
|
||||
#Include-Once
|
||||
#NoTrayIcon
|
||||
;===============================================================================
|
||||
;
|
||||
; Func Name: _ChangeScreenRes()
|
||||
; Infomation: Change screen resolution and refresh rate.
|
||||
; Version: 1.0.0.1
|
||||
; Parameters: $i_Width - Desktop Width (1024X768-->1024)
|
||||
; $i_Height - Desktop Height (1024X768-->768)
|
||||
; $i_BitsPP - Screen Color Deepth (Ext: 32Bit)
|
||||
; $i_RefreshRate - Screen Refresh Rate (Ext: 75 MHZ).
|
||||
; ReturnCode: Succees, @ERROR = 0
|
||||
; Fail, @ERROR = 1
|
||||
; Author: Original code - psandu.ro
|
||||
; Modifications - PartyPooper
|
||||
; http://www.autoitscript.com/forum/index.php?showtopic=20121
|
||||
;===============================================================================
|
||||
|
||||
;Func _ChangeScreenRes($i_Width = @DesktopWidth, $i_Height = @DesktopHeight, $i_BitsPP = @DesktopDepth, $i_RefreshRate = @DesktopRefresh)
|
||||
Func _ChangeScreenRes($i_Width, $i_Height, $i_BitsPP, $i_RefreshRate)
|
||||
Local Const $DM_PELSWIDTH = 0x00080000
|
||||
Local Const $DM_PELSHEIGHT = 0x00100000
|
||||
Local Const $DM_BITSPERPEL = 0x00040000
|
||||
Local Const $DM_DISPLAYFREQUENCY = 0x00400000
|
||||
Local Const $CDS_TEST = 0x00000002
|
||||
Local Const $CDS_UPDATEREGISTRY = 0x00000001
|
||||
Local Const $DISP_CHANGE_RESTART = 1
|
||||
Local Const $DISP_CHANGE_SUCCESSFUL = 0
|
||||
Local Const $HWND_BROADCAST = 0xffff
|
||||
Local Const $WM_DISPLAYCHANGE = 0x007E
|
||||
If $i_Width = "" Or $i_Width = -1 Then $i_Width = @DesktopWidth ; default to current setting
|
||||
If $i_Height = "" Or $i_Height = -1 Then $i_Height = @DesktopHeight ; default to current setting
|
||||
If $i_BitsPP = "" Or $i_BitsPP = -1 Then $i_BitsPP = @DesktopDepth ; default to current setting
|
||||
If $i_RefreshRate = "" Or $i_RefreshRate = -1 Then $i_RefreshRate = @DesktopRefresh ; default to current setting
|
||||
Local $DEVMODE = DllStructCreate("byte[32];int[10];byte[32];int[6]")
|
||||
Local $B = DllCall("user32.dll", "int", "EnumDisplaySettings", "ptr", 0, "long", 0, "ptr", DllStructGetPtr($DEVMODE))
|
||||
|
||||
If @error Then
|
||||
$B = 0
|
||||
SetError(1)
|
||||
Return $B
|
||||
Else
|
||||
$B = $B[0]
|
||||
EndIf
|
||||
|
||||
If $B <> 0 Then
|
||||
DllStructSetData($DEVMODE, 2, BitOR($DM_PELSWIDTH, $DM_PELSHEIGHT, $DM_BITSPERPEL, $DM_DISPLAYFREQUENCY), 5)
|
||||
DllStructSetData($DEVMODE, 4, $i_Width, 2)
|
||||
DllStructSetData($DEVMODE, 4, $i_Height, 3)
|
||||
DllStructSetData($DEVMODE, 4, $i_BitsPP, 1)
|
||||
DllStructSetData($DEVMODE, 4, $i_RefreshRate, 5)
|
||||
$B = DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_TEST)
|
||||
If @error Then
|
||||
$B = -1
|
||||
Else
|
||||
$B = $B[0]
|
||||
EndIf
|
||||
Select
|
||||
Case $B = $DISP_CHANGE_RESTART
|
||||
$DEVMODE = ""
|
||||
Return 2
|
||||
Case $B = $DISP_CHANGE_SUCCESSFUL
|
||||
DllCall("user32.dll", "int", "ChangeDisplaySettings", "ptr", DllStructGetPtr($DEVMODE), "int", $CDS_UPDATEREGISTRY)
|
||||
DllCall("user32.dll", "int", "SendMessage", "hwnd", $HWND_BROADCAST, "int", $WM_DISPLAYCHANGE, _
|
||||
"int", $i_BitsPP, "int", $i_Height * 2 ^ 16 + $i_Width)
|
||||
$DEVMODE = ""
|
||||
Return 1
|
||||
Case Else
|
||||
$DEVMODE = ""
|
||||
SetError(1)
|
||||
Return $B
|
||||
EndSelect
|
||||
EndIf
|
||||
|
||||
EndFunc ;==>_ChangeScreenRes
|
246
CmdUtil.au3
Normal file
246
CmdUtil.au3
Normal file
@ -0,0 +1,246 @@
|
||||
#NoTrayIcon
|
||||
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||
#AutoIt3Wrapper_Outfile=CmdUtil32.exe
|
||||
#AutoIt3Wrapper_Outfile_x64=CmdUtil64.exe
|
||||
#AutoIt3Wrapper_Compile_Both=y
|
||||
#AutoIt3Wrapper_UseX64=y
|
||||
#AutoIt3Wrapper_Change2CUI=y
|
||||
#AutoIt3Wrapper_Res_Comment=CmdUtil.exe
|
||||
#AutoIt3Wrapper_Res_Description=r0n1n7an's Commandline Utility
|
||||
#AutoIt3Wrapper_Res_Fileversion=2.1.0.0
|
||||
#AutoIt3Wrapper_Res_ProductVersion=2.1.0.0
|
||||
#AutoIt3Wrapper_Res_LegalCopyright=r0n1n7an
|
||||
#AutoIt3Wrapper_Res_Language=1033
|
||||
#AutoIt3Wrapper_Res_Field=ProductName|CmdUtil.exe
|
||||
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||
|
||||
;Modification
|
||||
; 2016.06.22 Add Misc Item (/SLP /BEP /MON /DSI /RES)
|
||||
; 2016.06.27 Modify /NUM function output format(Added ----------String: $String)
|
||||
; 2016.06.28 Modify /FRL function (Add "-" to get line form then end of the file or from line_strat to line_end)
|
||||
; 2016.08.02 Add /MD5 /UPR /LWR /CHR Function.
|
||||
; 2016.08.08 Add /CMD Function.
|
||||
; 2016.08.09 Add More Operation Of /CMD Function.
|
||||
; 2016.09.10 Add /EXT Function(Utils.au3).
|
||||
; 2016.09.14 Fix A Bug Of /MID Function $CMDLINE[4].
|
||||
; 2016/12/08 Add /H2S & /S2H Function @ Str.au3
|
||||
; 2020/05/13 Fix console outputs of some functions.
|
||||
|
||||
#Include <BigChar.au3>
|
||||
#Include <StringX.au3>
|
||||
#Include <StringMD5.au3>
|
||||
#Include <Utils.au3>
|
||||
#Include <ChgRes.au3>
|
||||
#Include <Monitor.au3>
|
||||
|
||||
|
||||
If $CMDLINE[0] < 1 Then
|
||||
_Usage()
|
||||
Exit 0
|
||||
EndIf
|
||||
|
||||
Switch $CMDLINE[1]
|
||||
Case "/LOG"
|
||||
_WriteLog()
|
||||
Case "/DEL"
|
||||
_DeleteLine()
|
||||
Case "/INS"
|
||||
_WriteLine()
|
||||
Case "/REP"
|
||||
_ReplaceString()
|
||||
Case "/NUM"
|
||||
_LineNum()
|
||||
Case "/FRL"
|
||||
_GetLine()
|
||||
Case "/FCL"
|
||||
_CountLine()
|
||||
Case "/FGA"
|
||||
_GetAttrib()
|
||||
Case "/FSA"
|
||||
_SetAttrib()
|
||||
Case "/ENC"
|
||||
_GetEncoding()
|
||||
Case "/RED"
|
||||
_Read()
|
||||
Case "/SIZ"
|
||||
_GetSize()
|
||||
Case "/FGT"
|
||||
_GetTime()
|
||||
Case "/FST"
|
||||
_FileSetTime()
|
||||
Case "/VER"
|
||||
_GetVersion()
|
||||
Case "/SRE"
|
||||
_FileSRER2Line()
|
||||
Case "/BTW"
|
||||
_StrBetween()
|
||||
Case "/CMP"
|
||||
_StrCompare()
|
||||
Case "/FMT"
|
||||
_StringFormat()
|
||||
Case "/SIS"
|
||||
_StringInStr()
|
||||
Case "/DIV"
|
||||
_StrExplode()
|
||||
Case "/PAR"
|
||||
_StrSplit()
|
||||
Case "/ISR"
|
||||
_StrInsert()
|
||||
Case "/IAN"
|
||||
_StrIsAlNum()
|
||||
Case "/ALP"
|
||||
_StrIsAlpha()
|
||||
Case "/ASC"
|
||||
_StrIsASCII()
|
||||
Case "/DIG"
|
||||
_StrIsDigit()
|
||||
Case "/SIL"
|
||||
_StrIsLower()
|
||||
Case "/SIU"
|
||||
_StrIsUpper()
|
||||
Case "/BLK"
|
||||
_StrIsSpace()
|
||||
Case "/HEX"
|
||||
_StrIsHEX()
|
||||
Case "/LEN"
|
||||
_StrLength()
|
||||
Case "/LFT"
|
||||
_StrLeft()
|
||||
Case "/RIT"
|
||||
_StrRight()
|
||||
Case "/STL"
|
||||
_StrTrimLeft()
|
||||
Case "/STR"
|
||||
_StrTrimRight()
|
||||
Case "/MID"
|
||||
_StrMid()
|
||||
Case "/SRP"
|
||||
_StrReplace()
|
||||
Case "/REV"
|
||||
_StrReverse()
|
||||
Case "/SWS"
|
||||
_StrStripWS()
|
||||
Case "/S2H"
|
||||
_Str2Hex()
|
||||
Case "/H2S"
|
||||
_Hex2Str()
|
||||
Case "/MD5"
|
||||
_StringMD5()
|
||||
Case "/UPR"
|
||||
_StringUpper()
|
||||
Case "/LWR"
|
||||
_StringLower()
|
||||
Case "/MON"
|
||||
_MonitorOnOff()
|
||||
Case "/RES"
|
||||
_ChgRes()
|
||||
Case "/DSI"
|
||||
_Enum()
|
||||
Case "/SLP"
|
||||
_Sleep()
|
||||
Case "/BEP"
|
||||
_Beep()
|
||||
Case "/RND"
|
||||
_Random()
|
||||
Case "/CHR"
|
||||
_Big_Char()
|
||||
Case "/CMD"
|
||||
_CMD()
|
||||
Case "/EXT"
|
||||
_Execute()
|
||||
Case Else
|
||||
_Usage()
|
||||
EndSwitch
|
||||
|
||||
|
||||
|
||||
Func _Usage()
|
||||
Local $Info_Head = @CRLF & "CmdUtil.exe V2.1 Build: 2020.05.15" & @CRLF _
|
||||
& "Commandline Utility." & @CRLF _
|
||||
& "Usage: CmdUtil.exe Command Parameter(s) " & @CRLF & @CRLF _
|
||||
|
||||
Local $Info_String = "---------- String Operations ----------" & @CRLF _
|
||||
& "/BTW: Find strings between two string delimiters." & @CRLF _
|
||||
& "/CMP: Compare two strings with options." & @CRLF _
|
||||
& "/SIS: Check if a string contains a given substring." & @CRLF _
|
||||
& "/DIV: Split up a string into substrings depending on the given delimiters." & @CRLF _
|
||||
& "/PAR: Split up a string into substrings depending on the given delimiters." & @CRLF _
|
||||
& "/ISR: Insert a string within another string." & @CRLF _
|
||||
& "/UPR: Convert a string to uppercase." & @CRLF _
|
||||
& "/LWR: Convert a string to lowercase." & @CRLF _
|
||||
& "/IAN: Check if a string contains only alphanumeric characters." & @CRLF _
|
||||
& "/ALP: Check if a string contains only alphabetic characters." & @CRLF _
|
||||
& "/ASC: Check if a string contains only ASCII characters(0x00 - 0x7f)." & @CRLF _
|
||||
& "/DIG: Check if a string contains only digit (0-9) characters." & @CRLF _
|
||||
& "/SIL: Check if a string contains only lowercase characters." & @CRLF _
|
||||
& "/SIU: Check if a string contains only uppercase characters." & @CRLF _
|
||||
& "/BLK: Check if a string contains only whitespace characters." & @CRLF _
|
||||
& "/HEX: Check if a string are hexadecimal digit (0-9, A-F) characters." & @CRLF _
|
||||
& "/LEN: Return the number of characters in a string." & @CRLF _
|
||||
& "/LFT: Return a number of characters from the left side of a string." & @CRLF _
|
||||
& "/RIT: Return a number of characters from the right side of a string." & @CRLF _
|
||||
& "/STL: Trim a number of characters from the left side of a string." & @CRLF _
|
||||
& "/STR: Trim a number of characters from the right side of a string." & @CRLF _
|
||||
& "/MID: Extract a number of characters from a string." & @CRLF _
|
||||
& "/SRP: Replace substrings in a string." & @CRLF _
|
||||
& "/REV: Reverse the contents of the specified string." & @CRLF _
|
||||
& "/SWS: Strip the white space in a string." & @CRLF _
|
||||
& "/S2H: Convert a string to a hex string." & @CRLF _
|
||||
& "/H2S: Convert a hex string to a string." & @CRLF _
|
||||
& "/MD5: Return the MD5 value of a specified string." & @CRLF &@CRLF
|
||||
|
||||
Local $Info_Text = "---------- Text File Operations ----------" & @CRLF _
|
||||
& "/INS: Insert text to a specific line in a file." & @CRLF _
|
||||
& "/DEL: Delete the specified line in a file." & @CRLF _
|
||||
& "/REP: Replace a substring in a file." & @CRLF _
|
||||
& "/NUM: Return the number of lines (with specified sting) of a specified file." & @CRLF _
|
||||
& "/FRL: Return the text of the specified line in a specified text file." & @CRLF _
|
||||
& "/FCL: Return the count of lines in the specified file." & @CRLF _
|
||||
& "/RED: Read a number of characters from a file." & @CRLF _
|
||||
& "/SRE: Delete(or replace) the lines by the specified string.(RegExp)" & @CRLF _
|
||||
& "/LOG: Write current date, time and the specified text to a log file." & @CRLF & @CRLF
|
||||
|
||||
Local $Info_Att = "---------- File Attribute Operations ----------" & @CRLF _
|
||||
& "/FGA: Return a code string representing a file's attributes." & @CRLF _
|
||||
& "/FSA: Set the attributes of one or more files/directories." & @CRLF _
|
||||
& "/FGT: Return the time and date information for a file." & @CRLF _
|
||||
& "/FST: Set the timestamp of one of more files." & @CRLF _
|
||||
& "/ENC: Determine the text encoding used in a file." & @CRLF _
|
||||
& "/SIZ: Return the size of a file." & @CRLF _
|
||||
& "/VER: Return version information stored in a file." & @CRLF & @CRLF
|
||||
|
||||
Local $Info_Misc = "-------------------- Misc Item --------------------" & @CRLF _
|
||||
& "/CHR: Type a string in big font with a specified character." & @CRLF _
|
||||
& "/RND: Generate a pseudo-random integer-type number." & @CRLF _
|
||||
& "/SLP: Pause execution for a while." & @CRLF _
|
||||
& "/BEP: Play back a beep to the user." & @CRLF _
|
||||
& "/MON: Turn the display monitor on/off." & @CRLF _
|
||||
& "/DSI: Retrieve display settings information." & @CRLF _
|
||||
& "/RES: Change desktop resolution." & @CRLF _
|
||||
& "/EXT: Execute an expression." & @CRLF _
|
||||
& "/CMD: Change state of current console window." & @CRLF & @CRLF
|
||||
|
||||
Local $Info_Trail = "Type CmdUtil.exe 'Command' to see the detailed info." & @CRLF
|
||||
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Info_Head & $Info_String & $Info_Text & $Info_Att & $Info_Misc & $Info_Trail)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[2] = "STR" Then
|
||||
ConsoleWrite($Info_Head & $Info_String & $Info_Trail)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[2] = "TXT" Then
|
||||
ConsoleWrite($Info_Head & $Info_Text & $Info_Trail)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[2] = "ATT" Then
|
||||
ConsoleWrite($Info_Head & $Info_Att & $Info_Trail)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[2] = "MISC" Then
|
||||
ConsoleWrite($Info_Head & $Info_Misc & $Info_Trail)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite($Info_Head & $Info_String & $Info_Text & $Info_Att & $Info_Trail)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
BIN
CmdUtil32.exe
Normal file
BIN
CmdUtil32.exe
Normal file
Binary file not shown.
BIN
CmdUtil64.exe
Normal file
BIN
CmdUtil64.exe
Normal file
Binary file not shown.
216
Monitor.au3
Normal file
216
Monitor.au3
Normal file
@ -0,0 +1,216 @@
|
||||
#NoTrayIcon
|
||||
#CS ====================================================================================================
|
||||
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||
#AutoIt3Wrapper_Outfile=Monitor32.exe
|
||||
#AutoIt3Wrapper_Outfile_x64=Monitor64.exe
|
||||
#AutoIt3Wrapper_UseUpx=Y
|
||||
#AutoIt3Wrapper_Compile_Both=Y
|
||||
#AutoIt3Wrapper_UseX64=Y
|
||||
#AutoIt3Wrapper_Change2CUI=Y
|
||||
#AutoIt3Wrapper_Res_Comment=Monitor On/Off
|
||||
#AutoIt3Wrapper_Res_Description=Monitor On/Off
|
||||
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
|
||||
#AutoIt3Wrapper_Res_ProductVersion=1.0.0.0
|
||||
#AutoIt3Wrapper_Res_LegalCopyright=Wayne Tan
|
||||
#AutoIt3Wrapper_Res_Field=ProductName|Monitor.exe
|
||||
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||
|
||||
If $CMDLINE[0] < 1 Then
|
||||
_Enum()
|
||||
Exit 0
|
||||
Else
|
||||
Switch $CMDLINE[1]
|
||||
Case "/RES"
|
||||
_ChgRes()
|
||||
Case "/ON"
|
||||
_Monitor_ON()
|
||||
Exit 0
|
||||
Case "/OFF"
|
||||
_Monitor_OFF()
|
||||
Exit 0
|
||||
Case "/?"
|
||||
_Usage()
|
||||
Exit 0
|
||||
Case Else
|
||||
_Usage()
|
||||
Exit 0
|
||||
EndSwitch
|
||||
EndIf
|
||||
|
||||
Exit 0
|
||||
|
||||
#CE ====================================================================================================
|
||||
|
||||
#Include <WinAPI.au3>
|
||||
#Include <WinAPIGdi.au3>
|
||||
#Include <APIGDIConstants.au3>
|
||||
#Include <Array.au3>
|
||||
#Include <ChgRes.au3>
|
||||
|
||||
Global Const $lciWM_SYSCommand = 274
|
||||
Global Const $lciSC_MonitorPower = 61808
|
||||
Global Const $lciPower_Off = 2
|
||||
Global Const $lciPower_On = -1
|
||||
Global $MonitorIsOff = False
|
||||
|
||||
|
||||
Func _MonitorOnOff()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/MON ON|OFF" & @CRLF _
|
||||
& "Usage:" & @TAB & "Turn on/off the display monitor." & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "ON:" & @TAB & "Turn on the monitor." & @CRLF _
|
||||
& "OFF:" & @TAB & "Turn off the monitor." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
EndIf
|
||||
Local $SW = $CMDLINE[2]
|
||||
Switch $SW
|
||||
Case "ON"
|
||||
_Monitor_ON()
|
||||
Exit
|
||||
Case "OFF"
|
||||
_Monitor_OFF()
|
||||
Exit
|
||||
Case Else
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
EndSwitch
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _Monitor_ON()
|
||||
$MonitorIsOff = False
|
||||
Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]')
|
||||
DllCall('user32.dll', 'int', 'SendMessage', _
|
||||
'hwnd', $Progman_hwnd, _
|
||||
'int', $lciWM_SYSCommand, _
|
||||
'int', $lciSC_MonitorPower, _
|
||||
'int', $lciPower_On)
|
||||
Send("{Capslock}")
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _Monitor_OFF()
|
||||
$MonitorIsOff = True
|
||||
Local $Progman_hwnd = WinGetHandle('[CLASS:Progman]')
|
||||
;While $MonitorIsOff = True
|
||||
DllCall('user32.dll', 'int', 'SendMessage', _
|
||||
'hwnd', $Progman_hwnd, _
|
||||
'int', $lciWM_SYSCommand, _
|
||||
'int', $lciSC_MonitorPower, _
|
||||
'int', $lciPower_Off)
|
||||
;_IdleWaitCommit(0)
|
||||
;Sleep(20)
|
||||
;WEnd
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _IdleWaitCommit($idlesec)
|
||||
Local $iSave, $LastInputInfo = DllStructCreate ("uint;dword")
|
||||
DllStructSetData ($LastInputInfo, 1, DllStructGetSize ($LastInputInfo))
|
||||
DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo))
|
||||
Do
|
||||
$iSave = DllStructGetData ($LastInputInfo, 2)
|
||||
Sleep(60)
|
||||
DllCall ("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr ($LastInputInfo))
|
||||
Until (DllStructGetData ($LastInputInfo, 2)-$iSave) > $idlesec or $MonitorIsOff = False
|
||||
Return DllStructGetData ($LastInputInfo, 2)-$iSave
|
||||
EndFunc
|
||||
|
||||
Func _Enum()
|
||||
Local $Data, $i = 0
|
||||
ConsoleWrite(@CRLF & "--- Desktop Monitor Information ---" & @CRLF)
|
||||
ConsoleWrite(@CRLF & "Supported Modes:" & @CRLF)
|
||||
While 1
|
||||
$Data = _WinAPI_EnumDisplaySettings('', $i)
|
||||
If IsArray($Data) Then
|
||||
ConsoleWrite($Data[0] & " X " & $Data[1] & @TAB & $Data[2] & 'Bit' & @TAB & $Data[3] & "Hz" & @TAB & "Mode:" & $Data[4] & @CRLF)
|
||||
Else
|
||||
ExitLoop
|
||||
EndIf
|
||||
$i += 3
|
||||
WEnd
|
||||
$Current = _WinAPI_EnumDisplaySettings('',$ENUM_CURRENT_SETTINGS)
|
||||
;_ArrayUnique($Current)
|
||||
Local $CurrInfo = @CRLF & 'Current Settings: ' & @CRLF _
|
||||
& 'Resolution:' & @TAB & $Current[0] & ' X ' & $Current[1] & @CRLF _
|
||||
& 'Deepth:' & @TAB & @TAB & $Current[2] & 'Bit' & @CRLF _
|
||||
& 'Frequency:' & @TAB & $Current[3] & 'HZ' & @CRLF _
|
||||
& 'Mode:' & @TAB & @TAB & $Current[4] & @CRLF
|
||||
ConsoleWrite($CurrInfo)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _ChgRes()
|
||||
Switch $CMDLINE[0]
|
||||
Case 1
|
||||
$i_Width = @DesktopWidth
|
||||
$i_Height = @DesktopHeight
|
||||
$i_BitsPP = @DesktopDepth
|
||||
$i_RefreshRate = @DesktopRefresh
|
||||
Case 2
|
||||
$i_Width = $CMDLINE[2]
|
||||
$i_Height = @DesktopHeight
|
||||
$i_BitsPP = @DesktopDepth
|
||||
$i_RefreshRate = @DesktopRefresh
|
||||
Case 3
|
||||
$i_Width = $CMDLINE[2]
|
||||
$i_Height = $CMDLINE[3]
|
||||
$i_BitsPP = @DesktopDepth
|
||||
$i_RefreshRate = @DesktopRefresh
|
||||
Case 4
|
||||
$i_Width = $CMDLINE[2]
|
||||
$i_Height = $CMDLINE[3]
|
||||
$i_BitsPP = $CMDLINE[4]
|
||||
$i_RefreshRate = @DesktopRefresh
|
||||
Case 5
|
||||
$i_Width = $CMDLINE[2]
|
||||
$i_Height = $CMDLINE[3]
|
||||
$i_BitsPP = $CMDLINE[4]
|
||||
$i_RefreshRate = $CMDLINE[5]
|
||||
Case Else
|
||||
$i_Width = $CMDLINE[2]
|
||||
$i_Height = $CMDLINE[3]
|
||||
$i_BitsPP = $CMDLINE[4]
|
||||
$i_RefreshRate = $CMDLINE[5]
|
||||
EndSwitch
|
||||
If $CMDLINE[0] >= 2 Then
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite(@CRLF & "CMD:" & @TAB & "/RES [Width] [Height] [ColorDeepth] [RefreshRate]" & @CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
Local $RET = _ChangeScreenRes($i_Width, $i_Height, $i_BitsPP, $i_RefreshRate)
|
||||
If @Error = 0 Then
|
||||
ConsoleWrite("Return Code: " & @Error & @CRLF & "Set Screen Resolution Successed." & @CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("Return Code: " & @Error & @CRLF & "Set Screen Resolution Failed." & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
Exit
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
#CS ====================================================================================================
|
||||
Func _Usage()
|
||||
Local $MSG = @CRLF & "Monitor.exe V1.0 Build 20160614" & @CRLF & @CRLF _
|
||||
& "Usage:" & @TAB & "Set Screren Resoluton / Turn Monitor On/Off." & @CRLF & @CRLF _
|
||||
& "Command:" & @CRLF _
|
||||
& "Monitor.exe /ON " & @TAB & "Turn on the monitor." & @CRLF _
|
||||
& "Monitor.exe /OFF " & @TAB & "Turn off the monitor." & @CRLF _
|
||||
& "Monitor.exe /RES [Width] [Height] [ColorDeepth] [RefreshRate]" & @CRLF & @CRLF
|
||||
ConsoleWrite($MSG)
|
||||
Exit 0
|
||||
EndFunc
|
||||
#CE ====================================================================================================
|
||||
|
||||
Func _Quit()
|
||||
_Monitor_ON()
|
||||
Exit
|
||||
EndFunc
|
436
StringMD5.au3
Normal file
436
StringMD5.au3
Normal file
@ -0,0 +1,436 @@
|
||||
Const $BITS_TO_A_BYTE = 8
|
||||
Const $BYTES_TO_A_WORD = 4
|
||||
Const $BITS_TO_A_WORD = $BYTES_TO_A_WORD * $BITS_TO_A_BYTE
|
||||
|
||||
Dim $m_lOnBits[31]
|
||||
Dim $m_l2Power[31]
|
||||
|
||||
|
||||
Func Class_Initialize()
|
||||
|
||||
$m_lOnBits[0] = 1 ; 00000000000000000000000000000001
|
||||
$m_lOnBits[1] = 3 ; 00000000000000000000000000000011
|
||||
$m_lOnBits[2] = 7 ; 00000000000000000000000000000111
|
||||
$m_lOnBits[3] = 15 ; 00000000000000000000000000001111
|
||||
$m_lOnBits[4] = 31 ; 00000000000000000000000000011111
|
||||
$m_lOnBits[5] = 63 ; 00000000000000000000000000111111
|
||||
$m_lOnBits[6] = 127 ; 00000000000000000000000001111111
|
||||
$m_lOnBits[7] = 255 ; 00000000000000000000000011111111
|
||||
$m_lOnBits[8] = 511 ; 00000000000000000000000111111111
|
||||
$m_lOnBits[9] = 1023 ; 00000000000000000000001111111111
|
||||
$m_lOnBits[10] = 2047 ; 00000000000000000000011111111111
|
||||
$m_lOnBits[11] = 4095 ; 00000000000000000000111111111111
|
||||
$m_lOnBits[12] = 8191 ; 00000000000000000001111111111111
|
||||
$m_lOnBits[13] = 16383 ; 00000000000000000011111111111111
|
||||
$m_lOnBits[14] = 32767 ; 00000000000000000111111111111111
|
||||
$m_lOnBits[15] = 65535 ; 00000000000000001111111111111111
|
||||
$m_lOnBits[16] = 131071 ; 00000000000000011111111111111111
|
||||
$m_lOnBits[17] = 262143 ; 00000000000000111111111111111111
|
||||
$m_lOnBits[18] = 524287 ; 00000000000001111111111111111111
|
||||
$m_lOnBits[19] = 1048575 ; 00000000000011111111111111111111
|
||||
$m_lOnBits[20] = 2097151 ; 00000000000111111111111111111111
|
||||
$m_lOnBits[21] = 4194303 ; 00000000001111111111111111111111
|
||||
$m_lOnBits[22] = 8388607 ; 00000000011111111111111111111111
|
||||
$m_lOnBits[23] = 16777215 ; 00000000111111111111111111111111
|
||||
$m_lOnBits[24] = 33554431 ; 00000001111111111111111111111111
|
||||
$m_lOnBits[25] = 67108863 ; 00000011111111111111111111111111
|
||||
$m_lOnBits[26] = 134217727 ; 00000111111111111111111111111111
|
||||
$m_lOnBits[27] = 268435455 ; 00001111111111111111111111111111
|
||||
$m_lOnBits[28] = 536870911 ; 00011111111111111111111111111111
|
||||
$m_lOnBits[29] = 1073741823 ; 00111111111111111111111111111111
|
||||
$m_lOnBits[30] = 2147483647 ; 01111111111111111111111111111111
|
||||
|
||||
|
||||
$m_l2Power[0] = 1 ; 00000000000000000000000000000001
|
||||
$m_l2Power[1] = 2 ; 00000000000000000000000000000010
|
||||
$m_l2Power[2] = 4 ; 00000000000000000000000000000100
|
||||
$m_l2Power[3] = 8 ; 00000000000000000000000000001000
|
||||
$m_l2Power[4] = 16 ; 00000000000000000000000000010000
|
||||
$m_l2Power[5] = 32 ; 00000000000000000000000000100000
|
||||
$m_l2Power[6] = 64 ; 00000000000000000000000001000000
|
||||
$m_l2Power[7] = 128 ; 00000000000000000000000010000000
|
||||
$m_l2Power[8] = 256 ; 00000000000000000000000100000000
|
||||
$m_l2Power[9] = 512 ; 00000000000000000000001000000000
|
||||
$m_l2Power[10] = 1024 ; 00000000000000000000010000000000
|
||||
$m_l2Power[11] = 2048 ; 00000000000000000000100000000000
|
||||
$m_l2Power[12] = 4096 ; 00000000000000000001000000000000
|
||||
$m_l2Power[13] = 8192 ; 00000000000000000010000000000000
|
||||
$m_l2Power[14] = 16384 ; 00000000000000000100000000000000
|
||||
$m_l2Power[15] = 32768 ; 00000000000000001000000000000000
|
||||
$m_l2Power[16] = 65536 ; 00000000000000010000000000000000
|
||||
$m_l2Power[17] = 131072 ; 00000000000000100000000000000000
|
||||
$m_l2Power[18] = 262144 ; 00000000000001000000000000000000
|
||||
$m_l2Power[19] = 524288 ; 00000000000010000000000000000000
|
||||
$m_l2Power[20] = 1048576 ; 00000000000100000000000000000000
|
||||
$m_l2Power[21] = 2097152 ; 00000000001000000000000000000000
|
||||
$m_l2Power[22] = 4194304 ; 00000000010000000000000000000000
|
||||
$m_l2Power[23] = 8388608 ; 00000000100000000000000000000000
|
||||
$m_l2Power[24] = 16777216 ; 00000001000000000000000000000000
|
||||
$m_l2Power[25] = 33554432 ; 00000010000000000000000000000000
|
||||
$m_l2Power[26] = 67108864 ; 00000100000000000000000000000000
|
||||
$m_l2Power[27] = 134217728 ; 00001000000000000000000000000000
|
||||
$m_l2Power[28] = 268435456 ; 00010000000000000000000000000000
|
||||
$m_l2Power[29] = 536870912 ; 00100000000000000000000000000000
|
||||
$m_l2Power[30] = 1073741824 ; 01000000000000000000000000000000
|
||||
EndFunc
|
||||
|
||||
|
||||
Func LShift($lValue, $iShiftBits)
|
||||
|
||||
If $iShiftBits = 0 Then
|
||||
Return $lValue
|
||||
|
||||
|
||||
ElseIf $iShiftBits = 31 Then
|
||||
If BitAND($lValue, 1) Then
|
||||
Return 0x80000000
|
||||
Else
|
||||
Return 0
|
||||
Endif
|
||||
|
||||
|
||||
|
||||
ElseIf $iShiftBits < 0 Or $iShiftBits > 31 Then
|
||||
SetError(6)
|
||||
Endif
|
||||
|
||||
|
||||
If BitAND($lValue, $m_l2Power[31 - $iShiftBits]) Then
|
||||
|
||||
|
||||
Return BitOR((BitAND($lValue, $m_lOnBits[31 - ($iShiftBits + 1)]) * _
|
||||
$m_l2Power[$iShiftBits]) , 0x80000000)
|
||||
|
||||
Else
|
||||
|
||||
Return (BitAND($lValue, $m_lOnBits[31 - $iShiftBits]) * _
|
||||
$m_l2Power[$iShiftBits])
|
||||
|
||||
Endif
|
||||
EndFunc
|
||||
|
||||
|
||||
Func RShift($lValue, $iShiftBits)
|
||||
|
||||
Local $RShift
|
||||
|
||||
|
||||
If $iShiftBits = 0 Then
|
||||
Return $lValue
|
||||
|
||||
|
||||
ElseIf $iShiftBits = 31 Then
|
||||
If BitAND($lValue, 0x80000000) Then
|
||||
Return 1
|
||||
Else
|
||||
Return 0
|
||||
Endif
|
||||
|
||||
|
||||
ElseIf $iShiftBits < 0 Or $iShiftBits > 31 Then
|
||||
SetError(6)
|
||||
Endif
|
||||
|
||||
|
||||
$RShift = int(BitAND($lValue, 0x7FFFFFFE) / $m_l2Power[$iShiftBits])
|
||||
|
||||
|
||||
If BitAND($lValue, 0x80000000) Then
|
||||
|
||||
$RShift = int(BitOR($RShift, (0x40000000 / $m_l2Power[$iShiftBits - 1])))
|
||||
Endif
|
||||
|
||||
Return $RShift
|
||||
|
||||
EndFunc
|
||||
|
||||
|
||||
Func RShiftSigned($lValue , $iShiftBits)
|
||||
|
||||
|
||||
If $iShiftBits = 0 Then
|
||||
Return $lValue
|
||||
|
||||
ElseIf $iShiftBits = 31 Then
|
||||
|
||||
If BitAND($lValue, 0x80000000) Then
|
||||
Return -1
|
||||
Else
|
||||
Return 0
|
||||
Endif
|
||||
|
||||
|
||||
ElseIf $iShiftBits < 0 Or $iShiftBits > 31 Then
|
||||
SetError(6)
|
||||
Endif
|
||||
|
||||
Return Int($lValue / $m_l2Power[$iShiftBits])
|
||||
EndFunc
|
||||
|
||||
|
||||
Func RotateLeft($lValue , $iShiftBits)
|
||||
Return BitOR(LShift($lValue, $iShiftBits), RShift($lValue, (32 - $iShiftBits)))
|
||||
EndFunc
|
||||
|
||||
|
||||
Func AddUnsigned($lX , $lY )
|
||||
|
||||
$lX8 = BitAND($lX, 0x80000000)
|
||||
$lY8 = BitAND($lY, 0x80000000)
|
||||
$lX4 = BitAND($lX, 0x40000000)
|
||||
$lY4 = BitAND($lY, 0x40000000)
|
||||
|
||||
$lResult = BitAND($lX, 0x3FFFFFFF) + BitAND($lY, 0x3FFFFFFF)
|
||||
|
||||
If BitAND($lX4, $lY4) Then
|
||||
$lResult = BitXOR($lResult, 0x80000000, $lX8, $lY8)
|
||||
ElseIf BitOR($lX4 , $lY4) Then
|
||||
If BitAND($lResult, 0x40000000) Then
|
||||
$lResult = BitXOR($lResult, 0xC0000000, $lX8, $lY8)
|
||||
Else
|
||||
$lResult = BitXOR($lResult, 0x40000000, $lX8, $lY8)
|
||||
Endif
|
||||
Else
|
||||
$lResult = BitXOR($lResult, $lX8, $lY8)
|
||||
Endif
|
||||
|
||||
Return $lResult
|
||||
EndFunc
|
||||
|
||||
|
||||
Func F($x , $y , $z )
|
||||
Return BitOR(BitAND($x, $y) , BitAND((BitNOT($x)), $z))
|
||||
EndFunc
|
||||
|
||||
|
||||
Func G($x , $y , $z )
|
||||
Return BitOR(BitAND($x, $z) , BitAND($y , (BitNOT($z))))
|
||||
EndFunc
|
||||
|
||||
|
||||
Func H($x , $y , $z )
|
||||
Return BitXOR($x , $y , $z)
|
||||
EndFunc
|
||||
|
||||
|
||||
Func I($x , $y , $z )
|
||||
Return BitXOR($y , BitOR($x , (BitNOT($z))))
|
||||
EndFunc
|
||||
|
||||
|
||||
Func FF(ByRef $a , $b , $c , $d , $x , $s , $ac )
|
||||
$a = AddUnsigned($a, AddUnsigned(AddUnsigned(F($b, $c, $d), $x), $ac))
|
||||
$a = RotateLeft($a, $s)
|
||||
$a = AddUnsigned($a, $b)
|
||||
EndFunc
|
||||
|
||||
|
||||
Func GG(ByRef $a , $b , $c , $d , $x , $s , $ac )
|
||||
$a = AddUnsigned($a, AddUnsigned(AddUnsigned(G($b, $c, $d), $x), $ac))
|
||||
$a = RotateLeft($a, $s)
|
||||
$a = AddUnsigned($a, $b)
|
||||
EndFunc
|
||||
|
||||
|
||||
Func HH(ByRef $a , $b , $c , $d , $x , $s , $ac )
|
||||
$a = AddUnsigned($a, AddUnsigned(AddUnsigned(H($b, $c, $d), $x), $ac))
|
||||
$a = RotateLeft($a, $s)
|
||||
$a = AddUnsigned($a, $b)
|
||||
EndFunc
|
||||
|
||||
|
||||
Func II(ByRef $a , $b , $c , $d , $x , $s , $ac )
|
||||
$a = AddUnsigned($a, AddUnsigned(AddUnsigned(I($b, $c, $d), $x), $ac))
|
||||
$a = RotateLeft($a, $s)
|
||||
$a = AddUnsigned($a, $b)
|
||||
EndFunc
|
||||
|
||||
|
||||
Func ConvertToWordArray($sMessage )
|
||||
Dim $lWordArray[1]
|
||||
|
||||
Const $MODULUS_BITS = 512
|
||||
Const $CONGRUENT_BITS = 448
|
||||
|
||||
$lMessageLength = StringLen($sMessage)
|
||||
|
||||
$lNumberOfWords = (int(($lMessageLength + _
|
||||
int(($MODULUS_BITS - $CONGRUENT_BITS) / $BITS_TO_A_BYTE)) / _
|
||||
int($MODULUS_BITS / $BITS_TO_A_BYTE)) + 1) * _
|
||||
int($MODULUS_BITS / $BITS_TO_A_WORD)
|
||||
ReDim $lWordArray[$lNumberOfWords]
|
||||
|
||||
$lBytePosition = 0
|
||||
$lByteCount = 0
|
||||
Do
|
||||
|
||||
$lWordCount = int($lByteCount / $BYTES_TO_A_WORD)
|
||||
|
||||
|
||||
$lBytePosition = (Mod($lByteCount , $BYTES_TO_A_WORD)) * $BITS_TO_A_BYTE
|
||||
$lWordArray[$lWordCount] = BitOR($lWordArray[$lWordCount] , _
|
||||
LShift(Asc(StringMid($sMessage, $lByteCount + 1, 1)), $lBytePosition))
|
||||
$lByteCount = $lByteCount + 1
|
||||
Until $lByteCount >= $lMessageLength
|
||||
|
||||
|
||||
$lWordCount = int($lByteCount / $BYTES_TO_A_WORD)
|
||||
$lBytePosition = (Mod($lByteCount , $BYTES_TO_A_WORD)) * $BITS_TO_A_BYTE
|
||||
|
||||
|
||||
$lWordArray[$lWordCount] = BitOR($lWordArray[$lWordCount] , _
|
||||
LShift(0x80, $lBytePosition))
|
||||
|
||||
|
||||
$lWordArray[$lNumberOfWords - 2] = LShift($lMessageLength, 3)
|
||||
$lWordArray[$lNumberOfWords - 1] = RShift($lMessageLength, 29)
|
||||
|
||||
Return $lWordArray
|
||||
EndFunc
|
||||
|
||||
|
||||
Func WordToHex($lValue)
|
||||
|
||||
$WordToHex=""
|
||||
|
||||
For $lCount = 0 To 3
|
||||
$lByte = BitAND(RShift($lValue, $lCount * $BITS_TO_A_BYTE) , _
|
||||
$m_lOnBits[$BITS_TO_A_BYTE - 1])
|
||||
$WordToHex = $WordToHex & StringRight("0" & Hex($lByte,2), 2)
|
||||
Next
|
||||
Return $WordToHex
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func MD5($sMessage)
|
||||
|
||||
Const $S11 = 7
|
||||
Const $S12 = 12
|
||||
Const $S13 = 17
|
||||
Const $S14 = 22
|
||||
Const $S21 = 5
|
||||
Const $S22 = 9
|
||||
Const $S23 = 14
|
||||
Const $S24 = 20
|
||||
Const $S31 = 4
|
||||
Const $S32 = 11
|
||||
Const $S33 = 16
|
||||
Const $S34 = 23
|
||||
Const $S41 = 6
|
||||
Const $S42 = 10
|
||||
Const $S43 = 15
|
||||
Const $S44 = 21
|
||||
|
||||
Class_Initialize()
|
||||
|
||||
|
||||
$x = ConvertToWordArray($sMessage)
|
||||
|
||||
|
||||
$a = 0x67452301
|
||||
$b = 0xEFCDAB89
|
||||
$c = 0x98BADCFE
|
||||
$d = 0x10325476
|
||||
|
||||
|
||||
For $k = 0 To UBound($x)-1 Step 16
|
||||
$AA = $a
|
||||
$BB = $b
|
||||
$CC = $c
|
||||
$DD = $d
|
||||
|
||||
|
||||
FF( $a, $b, $c, $d, $x[$k + 0], $S11, 0xD76AA478 )
|
||||
FF( $d, $a, $b, $c, $x[$k + 1], $S12, 0xE8C7B756 )
|
||||
FF( $c, $d, $a, $b, $x[$k + 2], $S13, 0x242070DB )
|
||||
FF( $b, $c, $d, $a, $x[$k + 3], $S14, 0xC1BDCEEE )
|
||||
FF( $a, $b, $c, $d, $x[$k + 4], $S11, 0xF57C0FAF )
|
||||
FF( $d, $a, $b, $c, $x[$k + 5], $S12, 0x4787C62A )
|
||||
FF( $c, $d, $a, $b, $x[$k + 6], $S13, 0xA8304613 )
|
||||
FF( $b, $c, $d, $a, $x[$k + 7], $S14, 0xFD469501 )
|
||||
FF( $a, $b, $c, $d, $x[$k + 8], $S11, 0x698098D8 )
|
||||
FF( $d, $a, $b, $c, $x[$k + 9], $S12, 0x8B44F7AF )
|
||||
FF( $c, $d, $a, $b, $x[$k + 10], $S13, 0xFFFF5BB1)
|
||||
FF( $b, $c, $d, $a, $x[$k + 11], $S14, 0x895CD7BE)
|
||||
FF( $a, $b, $c, $d, $x[$k + 12], $S11, 0x6B901122)
|
||||
FF( $d, $a, $b, $c, $x[$k + 13], $S12, 0xFD987193)
|
||||
FF( $c, $d, $a, $b, $x[$k + 14], $S13, 0xA679438E)
|
||||
FF( $b, $c, $d, $a, $x[$k + 15], $S14, 0x49B40821)
|
||||
|
||||
GG( $a, $b, $c, $d, $x[$k + 1], $S21, 0xF61E2562 )
|
||||
GG( $d, $a, $b, $c, $x[$k + 6], $S22, 0xC040B340 )
|
||||
GG( $c, $d, $a, $b, $x[$k + 11], $S23, 0x265E5A51)
|
||||
GG( $b, $c, $d, $a, $x[$k + 0], $S24, 0xE9B6C7AA )
|
||||
GG( $a, $b, $c, $d, $x[$k + 5], $S21, 0xD62F105D )
|
||||
GG( $d, $a, $b, $c, $x[$k + 10], $S22, 0x2441453 )
|
||||
GG( $c, $d, $a, $b, $x[$k + 15], $S23, 0xD8A1E681)
|
||||
GG( $b, $c, $d, $a, $x[$k + 4], $S24, 0xE7D3FBC8 )
|
||||
GG( $a, $b, $c, $d, $x[$k + 9], $S21, 0x21E1CDE6 )
|
||||
GG( $d, $a, $b, $c, $x[$k + 14], $S22, 0xC33707D6)
|
||||
GG( $c, $d, $a, $b, $x[$k + 3], $S23, 0xF4D50D87 )
|
||||
GG( $b, $c, $d, $a, $x[$k + 8], $S24, 0x455A14ED )
|
||||
GG( $a, $b, $c, $d, $x[$k + 13], $S21, 0xA9E3E905)
|
||||
GG( $d, $a, $b, $c, $x[$k + 2], $S22, 0xFCEFA3F8 )
|
||||
GG( $c, $d, $a, $b, $x[$k + 7], $S23, 0x676F02D9 )
|
||||
GG( $b, $c, $d, $a, $x[$k + 12], $S24, 0x8D2A4C8A)
|
||||
|
||||
HH( $a, $b, $c, $d, $x[$k + 5], $S31, 0xFFFA3942 )
|
||||
HH( $d, $a, $b, $c, $x[$k + 8], $S32, 0x8771F681 )
|
||||
HH( $c, $d, $a, $b, $x[$k + 11], $S33, 0x6D9D6122)
|
||||
HH( $b, $c, $d, $a, $x[$k + 14], $S34, 0xFDE5380C)
|
||||
HH( $a, $b, $c, $d, $x[$k + 1], $S31, 0xA4BEEA44 )
|
||||
HH( $d, $a, $b, $c, $x[$k + 4], $S32, 0x4BDECFA9 )
|
||||
HH( $c, $d, $a, $b, $x[$k + 7], $S33, 0xF6BB4B60 )
|
||||
HH( $b, $c, $d, $a, $x[$k + 10], $S34, 0xBEBFBC70)
|
||||
HH( $a, $b, $c, $d, $x[$k + 13], $S31, 0x289B7EC6)
|
||||
HH( $d, $a, $b, $c, $x[$k + 0], $S32, 0xEAA127FA )
|
||||
HH( $c, $d, $a, $b, $x[$k + 3], $S33, 0xD4EF3085 )
|
||||
HH( $b, $c, $d, $a, $x[$k + 6], $S34, 0x4881D05 )
|
||||
HH( $a, $b, $c, $d, $x[$k + 9], $S31, 0xD9D4D039 )
|
||||
HH( $d, $a, $b, $c, $x[$k + 12], $S32, 0xE6DB99E5)
|
||||
HH( $c, $d, $a, $b, $x[$k + 15], $S33, 0x1FA27CF8)
|
||||
HH( $b, $c, $d, $a, $x[$k + 2], $S34, 0xC4AC5665 )
|
||||
|
||||
II( $a, $b, $c, $d, $x[$k + 0], $S41, 0xF4292244 )
|
||||
II( $d, $a, $b, $c, $x[$k + 7], $S42, 0x432AFF97 )
|
||||
II( $c, $d, $a, $b, $x[$k + 14], $S43, 0xAB9423A7)
|
||||
II( $b, $c, $d, $a, $x[$k + 5], $S44, 0xFC93A039 )
|
||||
II( $a, $b, $c, $d, $x[$k + 12], $S41, 0x655B59C3)
|
||||
II( $d, $a, $b, $c, $x[$k + 3], $S42, 0x8F0CCC92 )
|
||||
II( $c, $d, $a, $b, $x[$k + 10], $S43, 0xFFEFF47D)
|
||||
II( $b, $c, $d, $a, $x[$k + 1], $S44, 0x85845DD1 )
|
||||
II( $a, $b, $c, $d, $x[$k + 8], $S41, 0x6FA87E4F )
|
||||
II( $d, $a, $b, $c, $x[$k + 15], $S42, 0xFE2CE6E0)
|
||||
II( $c, $d, $a, $b, $x[$k + 6], $S43, 0xA3014314 )
|
||||
II( $b, $c, $d, $a, $x[$k + 13], $S44, 0x4E0811A1)
|
||||
II( $a, $b, $c, $d, $x[$k + 4], $S41, 0xF7537E82 )
|
||||
II( $d, $a, $b, $c, $x[$k + 11], $S42, 0xBD3AF235)
|
||||
II( $c, $d, $a, $b, $x[$k + 2], $S43, 0x2AD7D2BB )
|
||||
II( $b, $c, $d, $a, $x[$k + 9], $S44, 0xEB86D391 )
|
||||
|
||||
$a = AddUnsigned($a, $AA)
|
||||
$b = AddUnsigned($b, $BB)
|
||||
$c = AddUnsigned($c, $CC)
|
||||
$d = AddUnsigned($d, $DD)
|
||||
Next
|
||||
|
||||
|
||||
Return StringLower(WordToHex($a) & WordToHex($b) & WordToHex($c) & WordToHex($d))
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StringMD5()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/MD5 String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Return the MD5 value of a specified string." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = MD5($CMDLINE[2])
|
||||
;ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "Result: " & $RET & @CRLF)
|
||||
ConsoleWrite(StringUpper($RET))
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
832
StringX.au3
Normal file
832
StringX.au3
Normal file
@ -0,0 +1,832 @@
|
||||
#NoTrayIcon
|
||||
#Include <String.au3>
|
||||
#Include <StringConstants.au3>
|
||||
#Include <File.au3>
|
||||
|
||||
; 2016/12/08 Add /H2S & /S2H Function
|
||||
|
||||
#CS ----------------------------------------------------------------------------
|
||||
If $CMDLINE[0] < 1 Then _Usage()
|
||||
Switch $CMDLINE[1]
|
||||
Case "/?"
|
||||
_Usage()
|
||||
Case "/BTW"
|
||||
_StrBetween()
|
||||
Case "/CMP"
|
||||
_StrCompare()
|
||||
Case "/FMT"
|
||||
_StringFormat()
|
||||
Case "/SIS"
|
||||
_StringInStr()
|
||||
Case "/DIV"
|
||||
_StrDivision()
|
||||
Case "/PAR"
|
||||
_StrSplit()
|
||||
Case "/ISR"
|
||||
_StrInsert()
|
||||
Case "/IAN"
|
||||
_StrIsAlNum()
|
||||
Case "/ALP"
|
||||
_StrIsAlpha()
|
||||
Case "/ASC"
|
||||
_StrIsASCII()
|
||||
Case "/DIG"
|
||||
_StrIsDigit()
|
||||
Case "/SIL"
|
||||
_StrIsLower()
|
||||
Case "/SIU"
|
||||
_StrIsUpper()
|
||||
Case "/BLK"
|
||||
_StrIsSpace()
|
||||
Case "/HEX"
|
||||
_StrIsHEX()
|
||||
Case "/LEN"
|
||||
_StrLenth()
|
||||
Case "/LFT"
|
||||
_StrLeft()
|
||||
Case "/RIT"
|
||||
_StrRight()
|
||||
Case "/STL"
|
||||
_StrTrimLeft()
|
||||
Case "/STR"
|
||||
_StrTrimRight()
|
||||
Case "/MID"
|
||||
_StrMid()
|
||||
Case "/SRP"
|
||||
_StrReplace()
|
||||
Case "/REV"
|
||||
_StrReverse()
|
||||
Case "/SWS"
|
||||
_StrStripWS()
|
||||
Case Else
|
||||
_Usage()
|
||||
EndSwitch
|
||||
#CE ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
Func _StrBetween()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/BTW ""String"" ""Start"" ""End"" [Mode=0] [Case=0]" & @CRLF _
|
||||
& "Usage:" & @TAB & "Find strings between two string delimiters." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & "The string to search." & @CRLF _
|
||||
& "Start:" & @TAB & "The beginning of the string to find." & @CRLF _
|
||||
& @TAB & "(If empty, starts at the beginning.)" & @CRLF _
|
||||
& "End:" & @TAB & "The end of the string to find." & @CRLF _
|
||||
& @TAB & "(If empty, searches from ""Start"" to end of string.)" & @CRLF _
|
||||
& "Mode: (Optional)" & @CRLF _
|
||||
& @TAB & "0: The ""End"" string at the end of a match starts the next possible match." & @CRLF _
|
||||
& @TAB & "1: A further instance of the ""Start"" starts the next match." & @CRLF _
|
||||
& "Case: (Optional)" & @CRLF _
|
||||
& @TAB & "0: Case-Insensitive." & @CRLF _
|
||||
& @TAB & "1: Case-Sensitive." & @CRLF _
|
||||
& "Return Code:" & @CRLF _
|
||||
& @TAB & "Success: The first found strings." & @CRLF _
|
||||
& @TAB & "Fail: Error." & @CRLF & @CRLF _
|
||||
& "Use /F:FileName to set ""String"" as the contents of the specified file." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $sString = $CMDLINE[2]
|
||||
Local $sStart = ''
|
||||
Local $sEnd = ''
|
||||
Local $iMode = 0
|
||||
Local $iCase = 0
|
||||
If $CMDLINE[0] >= 3 Then Local $sStart = $CMDLINE[3]
|
||||
If $CMDLINE[0] >= 4 Then Local $sEnd = $CMDLINE[4]
|
||||
If $CMDLINE[0] >= 5 Then
|
||||
If $CMDLINE[5] = 0 Then
|
||||
Local $iMode = 0
|
||||
Else
|
||||
Local $iMode = 1
|
||||
EndIf
|
||||
EndIf
|
||||
EndIf
|
||||
EndIf
|
||||
If $CMDLINE[0] >= 6 Then Local $iCase = $CMDLINE[6]
|
||||
$sString = StringReplace($sString, "@CRLF", @CRLF)
|
||||
$sString = StringReplace($sString, "@CR", @CR)
|
||||
$sString = StringReplace($sString, "@LF", @LF)
|
||||
If StringLeft($sString, 3) = "/F:" Then
|
||||
Local $sFile = StringTrimLeft( $sString, 3 )
|
||||
Local $File = FileOpen($sFile)
|
||||
Local $sString = FileRead($File)
|
||||
FileClose($File)
|
||||
EndIf
|
||||
|
||||
$RET = _StringBetween( $sString, $sStart, $sEnd, $iMode, $iCase)
|
||||
If IsArray($RET) Then
|
||||
ConsoleWrite("--> Total SubStrings: " & UBound($RET) &@CRLF)
|
||||
For $i = 0 To UBound($RET) - 1
|
||||
ConsoleWrite("#"&$i&":"&@TAB&$RET[$i] &@CRLF)
|
||||
Next
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite(">>> Errors Occurred." &@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrCompare()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/CMP ""String1"" ""String2"" [CaseSense=0/1]" & @CRLF _
|
||||
& "Usage:" & @TAB & "Compare two strings with options." & @CRLF _
|
||||
& "Return Code:" & @CRLF _
|
||||
& " 0: String1 and String2 are equal." & @CRLF _
|
||||
& " 1: String1 is greater than String2." & @CRLF _
|
||||
& " -1: String1 is less than String2." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite("Parameters Format Error." & @CRLF & $Tips)
|
||||
Exit
|
||||
ElseIf $CMDLINE[0] = 2 Then
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit
|
||||
Else
|
||||
ConsoleWrite("Parameters Format Error." & @CRLF & $Tips)
|
||||
Exit
|
||||
EndIf
|
||||
ElseIf $CMDLINE[0] = 3 Then
|
||||
Local $Case = 0
|
||||
ElseIf $CMDLINE[0] = 4 Then
|
||||
Local $Case = $CMDLINE[4]
|
||||
Else
|
||||
Local $Case = $CMDLINE[4]
|
||||
EndIf
|
||||
Local $RET = StringCompare($CMDLINE[2],$CMDLINE[3],$Case)
|
||||
ConsoleWrite($RET &@CRLF)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StringFormat()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/FMT String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Return a C sprintf() style string." & @CRLF
|
||||
Local $sParam = StringTrimLeft($CMDLINERAW, StringLen($CMDLINE[1]))
|
||||
Local $RET = StringFormat($CMDLINE[2], $sParam)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StringInStr()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/SIS String Substring [Case] [Occurrence] [Start] [Count]" & @CRLF _
|
||||
& "Usage:" & @TAB & "Check if a string contains a given substring." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & @TAB & "The string to evaluate. " & @CRLF _
|
||||
& "Substring:" & @TAB & "The substring to search for. " & @CRLF _
|
||||
& "Case:" & @TAB & @TAB & "Indicate if the operation should be case sensitive(0/1)." & @CRLF _
|
||||
& "Occurrence:" & @TAB & "Occurrence of the substring to find in the string.(Def=1)" & @CRLF _
|
||||
& "Start:" & @TAB & @TAB & "The starting position of the search.(Def=1)" & @CRLF _
|
||||
& "Count:" & @TAB & @TAB & "Number of char to search, must be longer than the substring." & @CRLF & @CRLF _
|
||||
& "Return Code: " & @CRLF _
|
||||
& "Success: The position of the substring." & @CRLF _
|
||||
& "Failure: Return 0 if substring not found." & @CRLF
|
||||
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite("Parameters Format Error." & @CRLF & $Tips)
|
||||
Exit 0
|
||||
EndIf
|
||||
|
||||
If StringLeft($CMDLINE[2],3) = "/F:" Then
|
||||
Local $FileName = StringTrimLeft($CMDLINE[2],3)
|
||||
Local $File = FileOpen($FileName,0)
|
||||
Local $Str = FileRead($File)
|
||||
Else
|
||||
Local $Str = $CMDLINE[2]
|
||||
$Str = StringReplace($Str, "@CRLF", @CRLF)
|
||||
$Str = StringReplace($Str, "@CR", @CR)
|
||||
$Str = StringReplace($Str, "@LF", @LF)
|
||||
EndIf
|
||||
|
||||
If StringLeft($CMDLINE[3],3) = "/F:" Then
|
||||
Local $FileName = StringTrimLeft($CMDLINE[3],3)
|
||||
Local $File = FileOpen($FileName,0)
|
||||
Local $SubStr = FileRead($File)
|
||||
Else
|
||||
Local $SubStr = $CMDLINE[3]
|
||||
$SubStr = StringReplace($SubStr, "@CRLF", @CRLF)
|
||||
$SubStr = StringReplace($SubStr, "@CR", @CR)
|
||||
$SubStr = StringReplace($SubStr, "@LF", @LF)
|
||||
EndIf
|
||||
|
||||
Local $iCase = 0
|
||||
Local $iOccur = 1
|
||||
Local $iStart = 1
|
||||
Local $iCount = ""
|
||||
If $CMDLINE[0] >= 4 Then Local $iCase = $CMDLINE[4]
|
||||
If $CMDLINE[0] >= 5 Then Local $iOccur = $CMDLINE[5]
|
||||
If $CMDLINE[0] >= 6 Then Local $iStart = $CMDLINE[6]
|
||||
If $CMDLINE[0] >= 7 Then
|
||||
Local $iCount = $CMDLINE[7]
|
||||
If $iCount < StringLen($CMDLINE[3]) Then
|
||||
Local $Err = @CRLF & "Parameters Error." & @CRLF _
|
||||
& "The ""Count"" parameter must be longer than the substring." & @CRLF
|
||||
ConsoleWrite($Err)
|
||||
Exit
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
If $CMDLINE[0] >= 7 Then
|
||||
Local $RET = StringInStr($Str, $SubStr, $iCase, $iOccur, $iStart, $iCount)
|
||||
ConsoleWrite($RET &@CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringInStr($Str, $SubStr, $iCase, $iOccur, $iStart)
|
||||
ConsoleWrite($RET &@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _StrExplode()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/DIV String Delimiter [Limit=0]" & @CRLF _
|
||||
& "Usage:" & @TAB & "Split up a string into substrings depending on the given delimiters." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & @TAB & "String to be split." & @CRLF _
|
||||
& "Delimiter:" & @TAB & "Delimiter to split on." & @CRLF _
|
||||
& "Limit:" & @TAB & @TAB & "(Optional) Maximum elements to be returned." & @CRLF _
|
||||
& @TAB & @TAB & "=0: (Default) Split on every instance of the delimiter." & @CRLF _
|
||||
& @TAB & @TAB & ">0: Split until limit, last element will contain remaining portion." & @CRLF _
|
||||
& @TAB & @TAB & "<0: Split on every instance, removing limit count from end of the array." & @CRLF & @CRLF _
|
||||
& "Return Value:" & @TAB & "Return an array containing the exploded strings." & @CRLF & @CRLF _
|
||||
& "Use /F:FileName to set ""String"" as the contents of the specified file." & @CRLF
|
||||
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[0] = 3 Then
|
||||
Local $iLimit = 0
|
||||
Else
|
||||
Local $iLimit = $CMDLINE[4]
|
||||
EndIf
|
||||
|
||||
Local $sString = $CMDLINE[2]
|
||||
$sString = StringReplace($sString, "@CRLF", @CRLF)
|
||||
$sString = StringReplace($sString, "@CR", @CR)
|
||||
$sString = StringReplace($sString, "@LF", @LF)
|
||||
If StringLeft($sString, 3) = "/F:" Then
|
||||
Local $sFile = StringTrimLeft( $sString, 3 )
|
||||
Local $File = FileOpen($sFile)
|
||||
Local $sString = FileRead($File)
|
||||
FileClose($File)
|
||||
EndIf
|
||||
|
||||
Local $RET = _StringExplode($sString, $CMDLINE[3], $iLimit)
|
||||
If IsArray($RET) Then
|
||||
ConsoleWrite("--> Matching SubStrings: " & UBound($RET) & @CRLF)
|
||||
For $i = 0 To UBound($RET) - 1
|
||||
ConsoleWrite("#"&$i&":"&@TAB&$RET[$i] &@CRLF)
|
||||
Next
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite(">>> Errors Occurred." & @CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrSplit()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/PAR String Delimiter [Flag=0]" & @CRLF _
|
||||
& "Usage:" & @TAB & "Split up a string into substrings depending on the given delimiters." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & @TAB & "String to be split." & @CRLF _
|
||||
& "Delimiter:" & @TAB & "Delimiter to split on." & @CRLF _
|
||||
& "Flag:" & @TAB & @TAB & "(Optional) Changes how the string split works." & @CRLF _
|
||||
& @TAB & @TAB & "=0: Each character of the delimiter will mark the split." & @CRLF _
|
||||
& @TAB & @TAB & "=1: Entire delimiter string is needed to mark the split." & @CRLF & @CRLF _
|
||||
& "Return Value:" & @TAB & "Return an array containing the exploded strings." & @CRLF & @CRLF _
|
||||
& "Use /F:FileName to set ""String"" as the contents of the specified file." & @CRLF
|
||||
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[0] = 3 Then
|
||||
Local $iFlag = $STR_CHRSPLIT
|
||||
Else
|
||||
Local $iFlag = $CMDLINE[4]
|
||||
If $iFlag = 0 Then $iFlag = $STR_CHRSPLIT
|
||||
If $iFlag = 1 Then $iFlag = $STR_ENTIRESPLIT
|
||||
If $iFlag <> 1 And $iFlag <> 0 Then $iFlag = $STR_NOCOUNT
|
||||
EndIf
|
||||
|
||||
Local $sString = $CMDLINE[2]
|
||||
$sString = StringReplace($sString, "@CRLF", @CRLF)
|
||||
$sString = StringReplace($sString, "@CR", @CR)
|
||||
$sString = StringReplace($sString, "@LF", @LF)
|
||||
If StringLeft($sString, 3) = "/F:" Then
|
||||
Local $sFile = StringTrimLeft( $sString, 3 )
|
||||
Local $File = FileOpen($sFile)
|
||||
Local $sString = FileRead($File)
|
||||
FileClose($File)
|
||||
EndIf
|
||||
|
||||
Local $RET = StringSplit($sString, $CMDLINE[3], $iFlag)
|
||||
If IsArray($RET) Then
|
||||
ConsoleWrite("--> Matching SubStrings: " & $RET[0] & @CRLF)
|
||||
For $i = 1 To $RET[0]
|
||||
ConsoleWrite("#"&$i&":"&@TAB&$RET[$i] & @CRLF)
|
||||
Next
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite(">>> Errors Occurred." &@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrInsert()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/ISR String InsertStr Position" & @CRLF _
|
||||
& "Usage:" & @TAB & "Insert a string within another string." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & @TAB & "Original string." & @CRLF _
|
||||
& "InsertStr:" & @TAB & "String to be inserted." & @CRLF _
|
||||
& "Position:" & @TAB & "Position to insert string." & @CRLF _
|
||||
& @TAB & @TAB & "(Negatives values count from right hand side)." & @CRLF & @CRLF _
|
||||
& "Return Value:" & @CRLF _
|
||||
& @TAB & "Success: The modified string." & @CRLF _
|
||||
& @TAB & "Failure: The original string." & @CRLF
|
||||
If $CMDLINE[0] < 4 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
EndIf
|
||||
Local $RET = _StringInsert($CMDLINE[2], $CMDLINE[3], $CMDLINE[4])
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrIsAlNum()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/IAN String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Check if a string contains only alphanumeric characters." & @CRLF & @CRLF _
|
||||
& "Error Code:" & @CRLF _
|
||||
& " 0: String contains only alphanumeric characters." & @CRLF _
|
||||
& " 1: String contains non-alphanumeric characters." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringIsAlNum($CMDLINE[2])
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 0" & @CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 1" & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrIsAlpha()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/ALP String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Check if a string contains only alphabetic characters." & @CRLF & @CRLF _
|
||||
& "Error Code:" & @CRLF _
|
||||
& " 0: String contains only alphabetic characters." & @CRLF _
|
||||
& " 1: String contains non-alphabetic characters." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringIsAlpha($CMDLINE[2])
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 0" & @CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 1" & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrIsASCII()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/ASC String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Check if a string contains only ASCII characters(0x00 - 0x7f)." & @CRLF & @CRLF _
|
||||
& "Error Code:" & @CRLF _
|
||||
& " 0: String contains only ASCII characters." & @CRLF _
|
||||
& " 1: String contains extended ASCII characters." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringIsASCII($CMDLINE[2])
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 0" & @CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 1" & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrIsDigit()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/DIG String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Check if a string contains only digit (0-9) characters." & @CRLF & @CRLF _
|
||||
& "Error Code:" & @CRLF _
|
||||
& " 0: String contains only digit characters." & @CRLF _
|
||||
& " 1: String contains non-digits characters." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringIsDigit($CMDLINE[2])
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 0" & @CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 1" & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrIsLower()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/LOW String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Check if a string contains only lowercase characters." & @CRLF & @CRLF _
|
||||
& "Error Code:" & @CRLF _
|
||||
& " 0: String contains only lowercase characters." & @CRLF _
|
||||
& " 1: String contains non-lowercase characters." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringIsLower($CMDLINE[2])
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 0" & @CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 1" & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrIsUpper()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/UPR String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Check if a string contains only lowercase characters." & @CRLF & @CRLF _
|
||||
& "Error Code:" & @CRLF _
|
||||
& " 0: String contains only uppercase characters." & @CRLF _
|
||||
& " 1: String contains non-uppercase characters." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringIsUpper($CMDLINE[2])
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 0" & @CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 1" & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrIsSpace()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/BLK String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Check if a string contains only whitespace characters." & @CRLF & @CRLF _
|
||||
& "Error Code:" & @CRLF _
|
||||
& " 0: String contains only whitespace characters." & @CRLF _
|
||||
& " 1: String contains non-whitespace characters." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringIsSpace($CMDLINE[2])
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 0" & @CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 1" & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrIsHEX()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/HEX String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Check if a string are hexadecimal digit (0-9, A-F) characters." & @CRLF & @CRLF _
|
||||
& "Error Code:" & @CRLF _
|
||||
& " 0: String contains only hexadecimal characters." & @CRLF _
|
||||
& " 1: String contains non-hexadecimal characters." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringIsXDigit($CMDLINE[2])
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 0" & @CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "ErrorCode: 1" & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrLength()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/LEN String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Return the number of characters in a string." & @CRLF & @CRLF _
|
||||
& "Return Value: The length of the string." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringLen($CMDLINE[2])
|
||||
ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "Length: " & $RET & @CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _StrLeft()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/LFT String Count" & @CRLF _
|
||||
& "Usage:" & @TAB & "Return a number of characters from the left side of a string." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & "The string to evaluate." & @CRLF _
|
||||
& "Count:" & @TAB & "The number of characters to get." & @CRLF
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringLeft($CMDLINE[2], $CMDLINE[3])
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrRight()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/RIT String Count" & @CRLF _
|
||||
& "Usage:" & @TAB & "Return a number of characters from the right side of a string." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & "The string to evaluate." & @CRLF _
|
||||
& "Count:" & @TAB & "The number of characters to get." & @CRLF
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringRight($CMDLINE[2], $CMDLINE[3])
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrTrimLeft()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/STL String Count" & @CRLF _
|
||||
& "Usage:" & @TAB & "Trim a number of characters from the left side of a string." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & "The string to evaluate." & @CRLF _
|
||||
& "Count:" & @TAB & "The number of characters to trim." & @CRLF
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringTrimLeft($CMDLINE[2], $CMDLINE[3])
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrTrimRight()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/STR String Count" & @CRLF _
|
||||
& "Usage:" & @TAB & "Trim a number of characters from the right side of a string." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & "The string to evaluate." & @CRLF _
|
||||
& "Count:" & @TAB & "The number of characters to trim." & @CRLF
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringTrimRight($CMDLINE[2], $CMDLINE[3])
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrMid()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/MID String Start [Count]" & @CRLF _
|
||||
& "Usage:" & @TAB & "Extract a number of characters from a string." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & "The string to evaluate." & @CRLF _
|
||||
& "Start:" & @TAB & "The character position to start." & @CRLF _
|
||||
& "Count:" & @TAB & "(Optional) The number of characters to extract." & @CRLF _
|
||||
& @TAB & "(By default the entire remainder of the string.)" & @CRLF
|
||||
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
Local $iCount = -1
|
||||
If $CMDLINE[0] >=4 Then $iCount = $CMDLINE[4]
|
||||
|
||||
Local $RET = StringMid($CMDLINE[2], $CMDLINE[3], $iCount)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _StrReplace()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/SRP String SearchStr ReplaceStr [Count=0] [Case=0]" & @CRLF _
|
||||
& "Usage:" & @TAB & "Replace substrings in a string." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & @TAB & "The string to evaluate." & @CRLF _
|
||||
& "SearchStr:" & @TAB & "The substring to search for." & @CRLF _
|
||||
& "ReplaceStr:" & @TAB & "The replacement string." & @CRLF _
|
||||
& "Count:" & @TAB & @TAB & "The number of times to replace the searchstring." & @CRLF _
|
||||
& @TAB & @TAB & "All searchstrings will be replaced.(Default=0)" & @CRLF _
|
||||
& @TAB & @TAB & "Use a negative number to replace from the right side." & @CRLF _
|
||||
& "Case:" & @TAB & @TAB & "Flag to indicate if the operations should be case sensitive." & @CRLF _
|
||||
& @TAB & @TAB & "0: Not case sensitive.(Default)" & @CRLF _
|
||||
& @TAB & @TAB & "1: Case sensitive." & @CRLF & @CRLF _
|
||||
& "Returen Value: The new string." & @CRLF
|
||||
|
||||
If $CMDLINE[0] < 4 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
EndIf
|
||||
|
||||
Local $iCount = 0
|
||||
Local $iCase = 0
|
||||
If $CMDLINE[0] >= 5 Then $iCount = $CMDLINE[5]
|
||||
If $CMDLINE[0] >= 6 Then $iCase = $CMDLINE[6]
|
||||
|
||||
Local $RET = StringReplace($CMDLINE[2], $CMDLINE[3], $CMDLINE[4], $iCount, $iCase)
|
||||
ConsoleWrite("--> Occurrence: " & @Extended & @CRLF & $RET & @CRLF)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrReverse()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/REV String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Reverse the contents of the specified string." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringReverse($CMDLINE[2])
|
||||
;ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "Result: " & $RET & @CRLF)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StrStripWS()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/SWS String Flag" & @CRLF _
|
||||
& "Usage:" & @TAB & "Strip the white space in a string." & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "String:" & @TAB & "The string to strip." & @CRLF _
|
||||
& "Flag:" & @TAB & "Flag to indicate the type of stripping." & @CRLF _
|
||||
& @TAB & "Add the flags together for multiple operations." & @CRLF _
|
||||
& @TAB & "1: Strip leading white space." & @CRLF _
|
||||
& @TAB & "2: Strip trailing white space." & @CRLF _
|
||||
& @TAB & "4: Strip double (or more) spaces between words." & @CRLF _
|
||||
& @TAB & "8: Strip all spaces (over-rides all other flags)." & @CRLF
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $sString = $CMDLINE[2]
|
||||
Local $iFlag = $CMDLINE[3]
|
||||
EndIf
|
||||
Local $RET = StringStripWS($sString, $iFlag)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StringLower()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/LWR String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Convert a string to lowercase." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringLower($CMDLINE[2])
|
||||
;ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "Result: " & $RET & @CRLF)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _StringUpper()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/UPR String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Convert a string to uppercase." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = StringUpper($CMDLINE[2])
|
||||
;ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "Result: " & $RET & @CRLF)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _Str2Hex()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/S2H String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Convert a string to a hex string." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = _StringToHex($CMDLINE[2])
|
||||
;ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "Result: " & $RET & @CRLF)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _Hex2Str()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/H2S String" & @CRLF _
|
||||
& "Usage:" & @TAB & "Convert a hex string to a string." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = _HexToString($CMDLINE[2])
|
||||
;ConsoleWrite("String: " & $CMDLINE[2] & @CRLF & "Result: " & $RET & @CRLF)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
;#CS ----------------------------------------
|
||||
; Switch $iFlag
|
||||
; Case '/L'
|
||||
; $iFlag = $STR_STRIPLEADING (1)
|
||||
; Case '/R'
|
||||
; $iFlag = $STR_STRIPLEADING (2)
|
||||
; Case '/S'
|
||||
; $iFlag = $STR_STRIPLEADING (4)
|
||||
; Case '/A'
|
||||
; $iFlag = $STR_STRIPLEADING (8)
|
||||
; Case Else
|
||||
; $iFlag = $STR_STRIPLEADING (8)
|
||||
; EndSwitch
|
||||
;#CE ----------------------------------------
|
||||
#CS
|
||||
Func _Usage()
|
||||
Global $HelpInfo = @CRLF & "-- String Manage Utility." & @CRLF _
|
||||
& "Ver 1.0 Build Jun.21 2016." & @CRLF & @CRLF _
|
||||
& "Command Line: [/Command] <Parameter1> ... " & @CRLF & @CRLF _
|
||||
& "Commands:" & @CRLF _
|
||||
& "/CMP" & @TAB & "Compares two strings with options." & @CRLF _
|
||||
& "/SIS" & @TAB & "Checks if a string contains a given substring." & @CRLF _
|
||||
ConsoleWrite($HelpInfo)
|
||||
Exit 0
|
||||
EndFunc
|
||||
#CE
|
||||
|
||||
|
886
Utils.au3
Normal file
886
Utils.au3
Normal file
@ -0,0 +1,886 @@
|
||||
#NoTrayIcon
|
||||
#Include <File.au3>
|
||||
#Include <FileConstants.au3>
|
||||
#Include <Array.au3>
|
||||
|
||||
;Modification:
|
||||
; 2016/06/19 Change /SRE Function Description.
|
||||
; 2016/09/10 Add _Execute Function.
|
||||
; 2016/10/27 ADD ATT/ACT operation to _CMD Function.
|
||||
|
||||
|
||||
Func _WriteLog()
|
||||
If $CMDLINE[0] < 3 Then
|
||||
Local $Tips = @CRLF & "Parameters Format Error !" & @CRLF & @CRLF _
|
||||
& "CMD:" & @TAB & "/LOG LogPath LogMsg [Flag = -1]" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "LogPath:" & @TAB & "Path of the file to write to." & @CRLF _
|
||||
& "LogMsg:" & @TAB & @TAB & "Message to be written to the log file." & @CRLF _
|
||||
& "Flag(Optional):" & @CRLF _
|
||||
& @TAB & "Flag = -1 (Default) LogMsg will be written to the end of file." & @CRLF _
|
||||
& @TAB & "Otherwise LogMsg will be written to beginning of file." & @CRLF & @CRLF _
|
||||
& "Use /F:FileName to set the ""LogMsg"" as the contents of a file." & @CRLF & @CRLF
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[0] = 3 Then
|
||||
Local $LogPath = $CMDLINE[2]
|
||||
Local $LogMsg = $CMDLINE[3]
|
||||
Local $Flag = -1
|
||||
If StringLeft($LogMsg,3) = "/F:" Then
|
||||
Local $SrcName = StringTrimLeft($LogMsg, 3)
|
||||
Local $SrcFile = FileOpen($SrcName)
|
||||
$LogMsg = FileRead($SrcFile)
|
||||
FileClose($SrcFile)
|
||||
EndIf
|
||||
Else
|
||||
Local $LogPath = $CMDLINE[2]
|
||||
Local $LogMsg = $CMDLINE[3]
|
||||
Local $Flag = $CMDLINE[4]
|
||||
If StringLeft($LogMsg,3) = "/F:" Then
|
||||
Local $SrcName = StringTrimLeft($LogMsg, 3)
|
||||
Local $SrcFile = FileOpen($SrcName)
|
||||
$LogMsg = FileRead($SrcFile)
|
||||
FileClose($SrcFile)
|
||||
EndIf
|
||||
EndIf
|
||||
Local $RET = _FileWriteLog($LogPath, $LogMsg, $Flag)
|
||||
FileOpen($LogPath, 1)
|
||||
FileClose($LogPath)
|
||||
Exit $RET
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _DeleteLine()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/DEL FileName LineNum" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "File name." & @CRLF _
|
||||
& "LineNum:" & @TAB & "Line number." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $Line = $CMDLINE[3]
|
||||
_FileWriteToLine($File, $Line, "", True)
|
||||
Exit 0
|
||||
EndIf
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _WriteLine()
|
||||
If $CMDLINE[0] < 4 Then
|
||||
Local $Tips = @CRLF & "Parameters Format Error !" & @CRLF & @CRLF _
|
||||
& "CMD:" & @TAB & "/INS FilePath LineNum Text [OverWrite = False]" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FilePath:" & @TAB & "Path of the file to write to." & @CRLF _
|
||||
& "LineNum:" & @TAB & "The line number to write to." & @CRLF _
|
||||
& "Text:" & @TAB & @TAB & "The text to write." & @CRLF _
|
||||
& "OverWrite(Optional):" & @CRLF _
|
||||
& @TAB & "True - Will overwrite the old line." & @CRLF _
|
||||
& @TAB & "False - (Default) Will not overwrite." & @CRLF & @CRLF _
|
||||
& "Use /F:FileName.txt to set the ""Text"" as the contents of a file." & @CRLF & @CRLF
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[0] = 4 Then
|
||||
Local $FilePath = $CMDLINE[2]
|
||||
Local $Line = $CMDLINE[3]
|
||||
Local $Text = $CMDLINE[4]
|
||||
Local $OverWrite = False
|
||||
If StringLeft($Text,3) = "/F:" Then
|
||||
Local $SrcName = StringTrimLeft($Text, 3)
|
||||
Local $SrcFile = FileOpen($SrcName)
|
||||
$Text = FileRead($SrcFile)
|
||||
FileClose($SrcFile)
|
||||
EndIf
|
||||
Else
|
||||
Local $FilePath = $CMDLINE[2]
|
||||
Local $Line = $CMDLINE[3]
|
||||
Local $Text = $CMDLINE[4]
|
||||
$OverWrite = $CMDLINE[5]
|
||||
If StringLeft($Text,3) = "/F:" Then
|
||||
Local $SrcName = StringTrimLeft($Text, 3)
|
||||
Local $SrcFile = FileOpen($SrcName)
|
||||
$Text = FileRead($SrcFile)
|
||||
FileClose($SrcFile)
|
||||
EndIf
|
||||
EndIf
|
||||
Local $RET = _FileWriteToLine ( $FilePath, $Line, $Text, $OverWrite )
|
||||
Exit $RET
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _ReplaceString()
|
||||
If $CMDLINE[0] < 4 Then
|
||||
Local $Tips = @CRLF & "Parameters Format Error !" & @CRLF & @CRLF _
|
||||
& "CMD:" & @TAB & "/REP FileName SrcString DstString [Case = 0] [Occurance = 1]" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Full path of the file." & @CRLF _
|
||||
& "SrcString:" & @TAB & "The string to evaluate." & @CRLF _
|
||||
& "DstString:" & @TAB & "The text to write." & @CRLF _
|
||||
& "Case(Optional):" & @CRLF _
|
||||
& @TAB & "0 -- (Default) Not case sensitive." & @CRLF _
|
||||
& @TAB & "1 -- Case sensitive." & @CRLF _
|
||||
& "Occurance(Optional):" & @CRLF _
|
||||
& @TAB & "0 -- Only the first occurrence is replaced." & @CRLF _
|
||||
& @TAB & "1 -- (Default) All occurrences are replaced." & @CRLF & @CRLF _
|
||||
& "Use /F:FileName to set ""SrcString"" and ""DstString"" as the contents of a file." & @CRLF & @CRLF
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[0] = 4 Then
|
||||
Local $Path = $CMDLINE[2]
|
||||
Local $SrcStr = $CMDLINE[3]
|
||||
Local $DstStr = $CMDLINE[4]
|
||||
Local $Case = 0
|
||||
Local $Occur = 1
|
||||
If StringLeft($SrcStr, 3) = "/F:" Then
|
||||
Local $SrcName = StringTrimLeft($SrcStr, 3)
|
||||
Local $SrcFile = FileOpen($SrcName)
|
||||
$SrcStr = FileRead($SrcFile)
|
||||
FileClose($SrcFile)
|
||||
EndIf
|
||||
If StringLeft($DstStr, 3) = "/F:" Then
|
||||
Local $SrcName1 = StringTrimLeft($DstStr, 3)
|
||||
Local $SrcFile1 = FileOpen($SrcName1)
|
||||
$DstStr = FileRead($SrcFile1)
|
||||
FileClose($SrcFile1)
|
||||
EndIf
|
||||
ElseIf $CMDLINE[0] = 5 Then
|
||||
Local $Path = $CMDLINE[2]
|
||||
Local $SrcStr = $CMDLINE[3]
|
||||
Local $DstStr = $CMDLINE[4]
|
||||
Local $Case = $CMDLINE[5]
|
||||
Local $Occur = 1
|
||||
If StringLeft($SrcStr, 3) = "/F:" Then
|
||||
Local $SrcName = StringTrimLeft($SrcStr, 3)
|
||||
Local $SrcFile = FileOpen($SrcName)
|
||||
$SrcStr = FileRead($SrcFile)
|
||||
FileClose($SrcFile)
|
||||
EndIf
|
||||
If StringLeft($DstStr, 3) = "/F:" Then
|
||||
Local $SrcName1 = StringTrimLeft($DstStr, 3)
|
||||
Local $SrcFile1 = FileOpen($SrcName1)
|
||||
$DstStr = FileRead($SrcFile1)
|
||||
FileClose($SrcFile1)
|
||||
EndIf
|
||||
Else
|
||||
Local $Path = $CMDLINE[2]
|
||||
Local $SrcStr = $CMDLINE[3]
|
||||
Local $DstStr = $CMDLINE[4]
|
||||
Local $Case = $CMDLINE[5]
|
||||
Local $Occur = $CMDLINE[6]
|
||||
If StringLeft($SrcStr, 3) = "/F:" Then
|
||||
Local $SrcName = StringTrimLeft($SrcStr, 3)
|
||||
Local $SrcFile = FileOpen($SrcName)
|
||||
$SrcStr = FileRead($SrcFile)
|
||||
FileClose($SrcFile)
|
||||
EndIf
|
||||
If StringLeft($DstStr, 3) = "/F:" Then
|
||||
Local $SrcName1 = StringTrimLeft($DstStr, 3)
|
||||
Local $SrcFile1 = FileOpen($SrcName1)
|
||||
$DstStr = FileRead($SrcFile1)
|
||||
FileClose($SrcFile1)
|
||||
EndIf
|
||||
EndIf
|
||||
Local $RET = _ReplaceStringInFile ( $Path, $SrcStr, $DstStr, $Case, $Occur )
|
||||
ConsoleWrite("Return Code: " & $RET & @CRLF)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _LineNum()
|
||||
Global $Tips_Lin = @CRLF & "CMD:" & @TAB & "/NUM FileName [String] [Case=N]" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename of the file to search for." & @CRLF _
|
||||
& "String:" & @TAB & @TAB & "[Optional] The string to search in the file." & @CRLF _
|
||||
& @TAB & @TAB & "If not define ""String"", return the count of lines of the file" & @CRLF _
|
||||
& "Case:" & @TAB & @TAB & "Flag to indicate if the operations should be case sensitive. Y/N." & @CRLF & @CRLF
|
||||
|
||||
Switch $CMDLINE[0]
|
||||
Case 1
|
||||
ConsoleWrite($Tips_Lin)
|
||||
Exit 0
|
||||
Case 2
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips_Lin)
|
||||
Exit 0
|
||||
Else
|
||||
Local $File = $CMDLINE[2]
|
||||
;Local $String = ''
|
||||
Local $CaseSense = 0
|
||||
EndIf
|
||||
Case 3
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $String = $CMDLINE[3]
|
||||
Local $CaseSense = 0
|
||||
Case Else
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $String = $CMDLINE[3]
|
||||
Local $CaseSense = $CMDLINE[4]
|
||||
If $CaseSense = "Y" Then
|
||||
$CaseSense = 1
|
||||
ElseIf $CaseSense = "N" Then
|
||||
$CaseSense = 0
|
||||
Else
|
||||
$CaseSense = 0
|
||||
EndIf
|
||||
EndSwitch
|
||||
If Not IsDeclared("String") Then
|
||||
Local $RET = _FileCountLines ($File)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit $RET
|
||||
Else
|
||||
;Local $Array = ""
|
||||
;_FileReadToArray($File, $Array)
|
||||
;Local $Index = _ArrayFindAll($Array, $String, 0, 0, 0, 1)
|
||||
;Local $Count = StringLen(_ArrayToString($Index, ''))
|
||||
Local $Ocurrences = 0
|
||||
Local $fOpen = FileOpen($File,0)
|
||||
Local $Lines = _FileCountLines($File)
|
||||
$Lines = $Lines + 1
|
||||
Local $LineArray[$Lines]
|
||||
Local $StringArray[$Lines]
|
||||
ConsoleWrite("-->File: " & $File & @CRLF)
|
||||
ConsoleWrite("-->String: " & $String & @CRLF)
|
||||
For $Loop1 = 1 To $Lines Step 1
|
||||
Local $fString = FileReadLine($fOpen, $Loop1)
|
||||
If StringInStr($fString, $String, $CaseSense) > 0 Then
|
||||
$Ocurrences += 1
|
||||
$LineArray[$Ocurrences] = $Loop1
|
||||
$StringArray[$Ocurrences] = $fString
|
||||
EndIf
|
||||
Next
|
||||
ConsoleWrite("-->Ocurrence: " & $Ocurrences & @CRLF)
|
||||
For $Loop2 = 1 To $Ocurrences Step 1
|
||||
ConsoleWrite($LineArray[$Loop2] & @TAB & $StringArray[$Loop2] & @CRLF)
|
||||
Next
|
||||
FileClose($fOpen)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
Func _GetLine()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/FRL FileName LineNum" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename." & @CRLF _
|
||||
& "LineNum:" & @TAB & "Number of line to read." & @CRLF _
|
||||
& @TAB & "Use -[Number] to read the file from the end, etc -8" & @CRLF _
|
||||
& @TAB & "Use [Number1]-[Number2] to read line Number1 to line Number2, etc 2-5" & @CRLF
|
||||
Switch $CMDLINE[0]
|
||||
Case 1 To 2
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Case 3
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $Line = $CMDLINE[3]
|
||||
Case Else
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $Line = $CMDLINE[3]
|
||||
EndSwitch
|
||||
Local $Lines = _FileCountLines($File)
|
||||
If $Line > $Lines Then
|
||||
ConsoleWrite("Error: Parameter ""Line"" out of range." & @CRLF)
|
||||
Exit 255
|
||||
ElseIf StringLeft($Line, 1) = "-" Then
|
||||
$Line = Int(StringTrimLeft($Line, 1))
|
||||
$Line = $Lines - $Line + 1
|
||||
Local $fOpen = FileOpen($File)
|
||||
Local $RET = FileReadLine($fOpen, $Line)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
ElseIf StringInStr($Line, "-") <> 0 And StringLeft($Line, 1) <> "-" Then
|
||||
$Line = StringSplit($Line, "-")
|
||||
If IsArray($Line) Then
|
||||
Local $Line_Start = $Line[1]
|
||||
Local $Line_End = $Line[2]
|
||||
For $i = $Line_Start To $Line_End Step 1
|
||||
Local $fOpen = FileOpen($File)
|
||||
Local $RET = FileReadLine($fOpen, $i)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
If $i <> $Line_End Then ConsoleWrite(@CRLF)
|
||||
Next
|
||||
Exit 0
|
||||
EndIf
|
||||
Else
|
||||
Local $fOpen = FileOpen($File)
|
||||
Local $RET = FileReadLine($fOpen, $Line)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _CountLine()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/FCL FileName" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $sFilePath = $CMDLINE[2]
|
||||
Local $RET = _FileCountLines( $sFilePath )
|
||||
ConsoleWrite($RET &@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _GetAttrib()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/FGA FileName" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename." & @CRLF & @CRLF _
|
||||
& "Return Code:" & @CRLF _
|
||||
& "A code string representing a file's attributes." & @CRLF _
|
||||
& " R = READONLY" & @CRLF _
|
||||
& " A = ARCHIVE" & @CRLF _
|
||||
& " S = SYSTEM" & @CRLF _
|
||||
& " H = HIDDEN" & @CRLF _
|
||||
& " N = NORMAL" & @CRLF _
|
||||
& " D = DIRECTORY" & @CRLF _
|
||||
& " O = OFFLINE" & @CRLF _
|
||||
& " C = COMPRESSED (NTFS Compression, Not ZIP Compression)" & @CRLF _
|
||||
& " T = TEMPORARY" & @CRLF _
|
||||
& " X = EFS ENCRYPTION" & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $sFilePath = $CMDLINE[2]
|
||||
Local $RET = FileGetAttrib( $sFilePath )
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _SetAttrib()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/FSA FileName ""+-RASHNOT"" " & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "The path of the file(s) to set, (* and ? wildcards accepted)" & @CRLF _
|
||||
& "+-RASHNOT:" & @TAB & "Attribute(s) to set/clear. e.g. ""+A"", ""+RA-SH"""& @CRLF _
|
||||
& " A = ARCHIVE" & @CRLF _
|
||||
& " S = SYSTEM" & @CRLF _
|
||||
& " H = HIDDEN" & @CRLF _
|
||||
& " N = NORMAL" & @CRLF _
|
||||
& " O = OFFLINE" & @CRLF _
|
||||
& " R = READONLY" & @CRLF _
|
||||
& " T = TEMPORARY" & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 3 Then
|
||||
ConsoleWrite( $Tips )
|
||||
Exit 0
|
||||
Else
|
||||
Local $FileSet = $CMDLINE[2]
|
||||
Local $Att = $CMDLINE[3]
|
||||
Local $RET = FileSetAttrib( $FileSet, $Att )
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("Success")
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("Error")
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _GetEncoding()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/ENC FileName" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $sFilePath = $CMDLINE[2]
|
||||
Local $ENC = FileGetEncoding( $sFilePath )
|
||||
Switch $ENC
|
||||
Case $FO_UTF16_LE
|
||||
Local $RET = "UTF16 Little Endian"
|
||||
Case $FO_UTF16_BE
|
||||
Local $RET = "UTF16 Big Endian"
|
||||
Case $FO_UTF8
|
||||
Local $RET = "UTF8 With BOM"
|
||||
Case $FO_UTF8_NOBOM
|
||||
Local $RET = "UTF8 Without BOM"
|
||||
Case $FO_ANSI
|
||||
Local $RET = "ANSI"
|
||||
Case Else
|
||||
Local $RET = "ERROR"
|
||||
EndSwitch
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _GetSize()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/SIZ FileName" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $sFilePath = $CMDLINE[2]
|
||||
Local $Size = FileGetSize( $sFilePath )
|
||||
If $Size <= 1024 Then
|
||||
ConsoleWrite($Size & " Bytes")
|
||||
Exit 0
|
||||
ElseIf $Size <= 1048576 Then
|
||||
Local $RET = Int($Size/1024)
|
||||
ConsoleWrite($RET & " KB")
|
||||
Exit 0
|
||||
Else
|
||||
Local $RET = Int($Size/1048576)
|
||||
ConsoleWrite($RET & " MB")
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _GetTime()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/FGT FileName" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $sFilePath = $CMDLINE[2]
|
||||
Local $ModifiedTime = FileGetTime( $sFilePath, $FT_MODIFIED, $FT_STRING )
|
||||
Local $CreatedTime = FileGetTime( $sFilePath, $FT_CREATED, $FT_STRING )
|
||||
Local $AccessedTime = FileGetTime( $sFilePath, $FT_ACCESSED, $FT_STRING )
|
||||
Local $RET = "CreatedTime: " & @TAB & $CreatedTime & @CRLF _
|
||||
& "LastModified: " & @TAB & $ModifiedTime & @CRLF _
|
||||
& "LastAccessed: " & @TAB & $AccessedTime & @CRLF
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _FileSetTime()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/FST FileName Time Type" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename." & @CRLF _
|
||||
& "Time:" & @TAB & @TAB & "The new time to set in the format ""YYYYMMDDHHMMSS""" & @CRLF _
|
||||
& @TAB & @TAB & "If the time is blank then the current time is used." & @CRLF _
|
||||
& "Type:" & @TAB & @TAB & "MODIFIED, CREATED, ACCESSED." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 4 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $FileSet = $CMDLINE[2]
|
||||
Local $Time = $CMDLINE[3]
|
||||
Local $Type = $CMDLINE[4]
|
||||
Switch $Type
|
||||
Case "MODIFIED"
|
||||
$Type = $FT_MODIFIED
|
||||
Case "CREATED"
|
||||
$Type = $FT_CREATED
|
||||
Case "ACCESSED"
|
||||
$Type = $FT_ACCESSED
|
||||
Case Else
|
||||
ConsoleWrite("Parameters Error." & @CRLF)
|
||||
Exit 0
|
||||
EndSwitch
|
||||
Local $RET = FileSetTime( $FileSet, $Time, $Type )
|
||||
If $RET = 1 Then
|
||||
ConsoleWrite("Successed" &@CRLF)
|
||||
Exit 0
|
||||
Else
|
||||
ConsoleWrite("Failed" &@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _GetVersion()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/VER FileName" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
Local $sFilePath = $CMDLINE[2]
|
||||
|
||||
Local $FILEVERSION = FileGetVersion( $sFilePath, $FV_FILEVERSION )
|
||||
Local $FILEDESCRIPTION = FileGetVersion( $sFilePath, $FV_FILEDESCRIPTION )
|
||||
Local $COMMENTS = FileGetVersion( $sFilePath, $FV_COMMENTS )
|
||||
Local $INTERNALNAME = FileGetVersion( $sFilePath, $FV_INTERNALNAME )
|
||||
Local $COMPANYNAME = FileGetVersion( $sFilePath, $FV_COMPANYNAME )
|
||||
Local $LEGALCOPYRIGHT = FileGetVersion( $sFilePath, $FV_LEGALCOPYRIGHT )
|
||||
Local $LEGALTRADEMARKS = FileGetVersion( $sFilePath, $FV_LEGALTRADEMARKS )
|
||||
Local $ORIGINALFILENAME = FileGetVersion( $sFilePath, $FV_ORIGINALFILENAME )
|
||||
Local $PRODUCTNAME = FileGetVersion( $sFilePath, $FV_PRODUCTNAME )
|
||||
Local $PRODUCTVERSION = FileGetVersion( $sFilePath, $FV_PRODUCTVERSION )
|
||||
|
||||
Local $RET = "FileName: " & $sFilePath & @CRLF _
|
||||
& "----- Version Information -----" & @CRLF _
|
||||
& "File_Version:" & @TAB & @TAB & $FILEVERSION & @CRLF _
|
||||
& "File_Description:" & @TAB & $FILEDESCRIPTION & @CRLF _
|
||||
& "Comments:" & @TAB & @TAB & $COMMENTS & @CRLF _
|
||||
& "Internal_Name:" & @TAB & @TAB & $INTERNALNAME & @CRLF _
|
||||
& "Company_Name:" & @TAB & @TAB & $COMPANYNAME & @CRLF _
|
||||
& "Legal_Copyright:" & @TAB & $LEGALCOPYRIGHT & @CRLF _
|
||||
& "Legal_Trademarks:" & @TAB & $LEGALTRADEMARKS & @CRLF _
|
||||
& "Original_File_Name:" & @TAB & $ORIGINALFILENAME & @CRLF _
|
||||
& "Product_Name:" & @TAB & @TAB & $PRODUCTNAME & @CRLF _
|
||||
& "Product_Version:" & @TAB & $PRODUCTVERSION & @CRLF
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _Read()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/RED FileName [Count]" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename." & @CRLF _
|
||||
& "Count:" &@TAB&@TAB& "A number of characters to read in the file." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite( $Tips )
|
||||
Exit 0
|
||||
ElseIf $CMDLINE[0] = 2 Then
|
||||
Local $sFilePath = $CMDLINE[2]
|
||||
Local $RET = FileRead( $sFilePath )
|
||||
ConsoleWrite( $RET )
|
||||
Exit 0
|
||||
Else
|
||||
Local $sFilePath = $CMDLINE[2]
|
||||
Local $Count = $CMDLINE[3]
|
||||
Local $RET = FileRead( $sFilePath, $Count )
|
||||
ConsoleWrite( $RET )
|
||||
Exit 0
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
|
||||
;Func _FileSRER2Line($File, $pattern = '', $replace = '', $flag = 1, $SRE = 0, $CR = 1, $Write = '')
|
||||
Func _FileSRER2Line()
|
||||
Global $Tips_SRE = @CRLF & "CMD:" & @TAB & "/SRE FileName Pattern Replace Flag=1 SRE=1 CR=1 Write" & @CRLF & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "FileName:" & @TAB & "Path and filename of the file to modify." & @CRLF _
|
||||
& "Pattern:" & @TAB & "String to search for. If NULL, delete all blank lines." & @CRLF _
|
||||
& "Replace:" & @TAB & "String to write. If NULL, delete the lines contain ""Pattern""." & @CRLF _
|
||||
& "Flag:" _
|
||||
& @TAB & @TAB & "Flag=1: Line must meet the ""Pattern""." & @CRLF _
|
||||
& @TAB & @TAB & "Flag=0: Line contain the ""Pattern""." & @CRLF _
|
||||
& "SRE:" _
|
||||
& @TAB & @TAB & "SRE=1: Use regular expressions." & @CRLF _
|
||||
& @TAB & @TAB & "SRE=0: Not use regular expressions." & @CRLF _
|
||||
& "CR:" _
|
||||
& @TAB & @TAB & "CR=1: Recognition @CRLF(Default)." & @CRLF _
|
||||
& @TAB & @TAB & "CR=0: Recognition @LF." & @CRLF _
|
||||
& "Write:" _
|
||||
& @TAB & @TAB & "NULL: Write the source file." & @CRLF _
|
||||
& @TAB & @TAB & "Not NULL: Write the specified file." & @CRLF & @CRLF
|
||||
; & @TAB & @TAB & "0: Echo only, not write." & @CRLF _
|
||||
Switch $CMDLINE[0]
|
||||
Case 1
|
||||
ConsoleWrite($Tips_SRE)
|
||||
Exit 0
|
||||
Case 2
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips_SRE)
|
||||
Exit 0
|
||||
Else
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $pattern = ''
|
||||
Local $replace = ''
|
||||
Local $flag = 1
|
||||
Local $SRE = 0
|
||||
Local $CR = 1
|
||||
Local $Write = ''
|
||||
EndIf
|
||||
Case 3
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $pattern = $CMDLINE[3]
|
||||
Local $replace = ''
|
||||
Local $flag = 1
|
||||
Local $SRE = 0
|
||||
Local $CR = 1
|
||||
Local $Write = ''
|
||||
Case 4
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $pattern = $CMDLINE[3]
|
||||
Local $replace = $CMDLINE[4]
|
||||
Local $flag = 1
|
||||
Local $SRE = 0
|
||||
Local $CR = 1
|
||||
Local $Write = ''
|
||||
Case 5
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $pattern = $CMDLINE[3]
|
||||
Local $replace = $CMDLINE[4]
|
||||
Local $flag = $CMDLINE[5]
|
||||
Local $SRE = 0
|
||||
Local $CR = 1
|
||||
Local $Write = ''
|
||||
Case 6
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $pattern = $CMDLINE[3]
|
||||
Local $replace = $CMDLINE[4]
|
||||
Local $flag = $CMDLINE[5]
|
||||
Local $SRE = $CMDLINE[6]
|
||||
Local $CR = 1
|
||||
Local $Write = ''
|
||||
Case 7
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $pattern = $CMDLINE[3]
|
||||
Local $replace = $CMDLINE[4]
|
||||
Local $flag = $CMDLINE[5]
|
||||
Local $SRE = $CMDLINE[6]
|
||||
Local $CR = $CMDLINE[7]
|
||||
Local $Write = ''
|
||||
Case 8
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $pattern = $CMDLINE[3]
|
||||
Local $replace = $CMDLINE[4]
|
||||
Local $flag = $CMDLINE[5]
|
||||
Local $SRE = $CMDLINE[6]
|
||||
Local $CR = $CMDLINE[7]
|
||||
Local $Write = $CMDLINE[8]
|
||||
Case Else
|
||||
Local $File = $CMDLINE[2]
|
||||
Local $pattern = $CMDLINE[3]
|
||||
Local $replace = $CMDLINE[4]
|
||||
Local $flag = $CMDLINE[5]
|
||||
Local $SRE = $CMDLINE[6]
|
||||
Local $CR = $CMDLINE[7]
|
||||
Local $Write = $CMDLINE[8]
|
||||
EndSwitch
|
||||
Local $sFile = String(FileRead($File)), $strqhz = '', $extended = 0, $sRER, $strZY, $CRF = ''
|
||||
If $CR = 0 Then $CRF = '?'
|
||||
If $pattern = '' Then
|
||||
$sRER = StringRegExpReplace(@CRLF & $sFile, '\r' & $CRF & '\n(?=\r' & $CRF & '\n)|\r' & $CRF & '\n$', '')
|
||||
Else
|
||||
If $SRE = 0 Then
|
||||
$strZY = '(\.|\||\*|\?|\+|\(|\)|\{|\}|\[|\]|\^|\$|\\)'
|
||||
$pattern = StringRegExpReplace($pattern, $strZY, '\\$1')
|
||||
$replace = StringRegExpReplace($replace, $strZY, '\\$1')
|
||||
EndIf
|
||||
If $flag = 0 Then $strqhz = '\V*'
|
||||
Local $patternWZ = $strqhz & $pattern & $strqhz
|
||||
$pattern = '(\r' & $CRF & '\n)' & $patternWZ & '(?=\r' & $CRF & '\n)|\r' & $CRF & '\n' & $patternWZ & '$'
|
||||
If $replace <> '' Then
|
||||
$sRER = StringRegExpReplace(@CRLF & $sFile, $pattern, '${1}' & $replace)
|
||||
Else
|
||||
$sRER = StringRegExpReplace(@CRLF & $sFile, $pattern, '')
|
||||
EndIf
|
||||
EndIf
|
||||
$extended = $extended + @extended
|
||||
$sRER = StringRegExpReplace($sRER, '^\r' & $CRF & '\n', '')
|
||||
If $Write = '' And $Write <> '0' Then
|
||||
$sTmp = FileOpen($File, 2)
|
||||
FileWrite($sTmp, $sRER)
|
||||
FileClose($sTmp)
|
||||
ElseIf $Write <> '' Then
|
||||
$sTmp = FileOpen($Write, 2)
|
||||
FileWrite($sTmp, $sRER)
|
||||
FileClose($sTmp)
|
||||
EndIf
|
||||
SetExtended($extended)
|
||||
ConsoleWrite("Return Code: " & @extended & @CRLF)
|
||||
Return $sRER
|
||||
Exit 0
|
||||
EndFunc ;==>_FileSRER2Line
|
||||
|
||||
|
||||
;============================== Misc Item ==============================
|
||||
|
||||
|
||||
Func _Sleep()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/SLP Delay" & @CRLF _
|
||||
& "Usage:" & @TAB & "Pause execution for a while." & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "Delay: Amount of time to pause (in milliseconds)." & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
EndIf
|
||||
Sleep($CMDLINE[2])
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _Beep()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/BEP [Frequency=500] [Duration=1000]" & @CRLF _
|
||||
& "Usage:" & @TAB & "Play back a beep to the user." & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "Frequency:" & @TAB & "The frequency of the beep in hertz. 37~32767 (0x25~0x7FFF)." & @CRLF _
|
||||
& "Duration:" & @TAB & "The length of the beep in milliseconds." & @CRLF
|
||||
Local $Frequency = 500
|
||||
Local $Duration = 1000
|
||||
If $CMDLINE[0] >= 2 Then
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
$Frequency = $CMDLINE[2]
|
||||
EndIf
|
||||
EndIf
|
||||
If $CMDLINE[0] >= 3 Then $Duration = $CMDLINE[3]
|
||||
Beep($Frequency, $Duration)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _Random()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/RND Min Max" & @CRLF _
|
||||
& "Usage:" & @TAB & "Generate a pseudo-random integer-type number." & @CRLF _
|
||||
& "Parameters:" & @CRLF _
|
||||
& "Min The smallest number to be generated. (Default=0.)" & @CRLF _
|
||||
& "Max The largest number to be generated. (Default=1.)" & @CRLF
|
||||
Local $Min = 0
|
||||
Local $Max = 1
|
||||
Local $Flag = 1
|
||||
If $CMDLINE[0] >= 2 Then
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
$Min = $CMDLINE[2]
|
||||
EndIf
|
||||
EndIf
|
||||
If $CMDLINE[0] >= 3 Then $Max = $CMDLINE[3]
|
||||
Local $RET = Random($Min, $Max, $Flag)
|
||||
ConsoleWrite($RET&@CRLF)
|
||||
Exit($RET)
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _CMD()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/CMD State" & @CRLF _
|
||||
& "Usage:" & @TAB & "Change state of current console window." & @CRLF & @CRLF _
|
||||
& "State:" & @CRLF _
|
||||
& @TAB & "ATT: Activate console window." & @CRLF _
|
||||
& @TAB & "ACT: Check if console window is actived." & @CRLF _
|
||||
& @TAB & "DIS: Disable console window." & @CRLF _
|
||||
& @TAB & "ENA: Enable console window." & @CRLF _
|
||||
& @TAB & "MIN: Minimize console window." & @CRLF _
|
||||
& @TAB & "MAX: Maximize console window." & @CRLF _
|
||||
& @TAB & "RES: Restore console window.(Undo MIN/MAX)" & @CRLF _
|
||||
& @TAB & "NOR: Activate and display console window." & @CRLF _
|
||||
& @TAB & "HIDE: Hide console window." & @CRLF _
|
||||
& @TAB & "SHOW: Show console window." & @CRLF _
|
||||
& @TAB & "TOP 1: Set console windows always on top." & @CRLF _
|
||||
& @TAB & "TOP 0: Set console windows NOT always on top." & @CRLF
|
||||
|
||||
; & @TAB & "LOCK: Lock Console Window." & @CRLF _
|
||||
; & @TAB & "FREE: Unlock Console Window." & @CRLF
|
||||
|
||||
Local $hWnd = DllCall("kernel32", "ptr", "GetConsoleWindow")
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
EndIf
|
||||
Local $iState
|
||||
Switch $CMDLINE[2]
|
||||
Case "/?"
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Case "MIN"
|
||||
$iState = @SW_MINIMIZE
|
||||
Case "MAX"
|
||||
$iState = @SW_MAXIMIZE
|
||||
Case "RES"
|
||||
$iState = @SW_RESTORE
|
||||
Case "HIDE"
|
||||
$iState = @SW_HIDE
|
||||
Case "SHOW"
|
||||
$iState = @SW_SHOW
|
||||
Case "DIS"
|
||||
$iState = @SW_DISABLE
|
||||
Case "ENA"
|
||||
$iState = @SW_ENABLE
|
||||
Case "LOCK"
|
||||
$iState = @SW_LOCK
|
||||
Case "FREE"
|
||||
$iState = @SW_UNLOCK
|
||||
Case "NOR"
|
||||
$iState = @SW_SHOWNORMAL
|
||||
Case "ATT"
|
||||
WinActivate($hWnd[0])
|
||||
Exit 0
|
||||
Case "ACT"
|
||||
Local $RET = WinActive($hWnd[0])
|
||||
ConsoleWrite("Result: " & $RET & @CRLF)
|
||||
Exit 0
|
||||
Case "TOP"
|
||||
Local $Flag = 0
|
||||
If $CMDLINE[0] >= 3 Then $Flag = $CMDLINE[3]
|
||||
WinActivate($hWnd[0])
|
||||
WinSetOnTop($hWnd[0], "", $Flag)
|
||||
Exit 0
|
||||
Case Else
|
||||
ConsoleWrite("Parameters Error." & @CRLF)
|
||||
Exit 0
|
||||
EndSwitch
|
||||
WinSetState($hWnd[0], "", $iState)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
Func _Execute()
|
||||
Local $Tips = @CRLF & "CMD:" & @TAB & "/EXT Expression" & @CRLF _
|
||||
& "Usage:" & @TAB & "Execute an expression." & @CRLF & @CRLF
|
||||
If $CMDLINE[0] < 2 Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
Else
|
||||
If $CMDLINE[2] = "/?" Then
|
||||
ConsoleWrite($Tips)
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
Local $EXP = $CMDLINE[2]
|
||||
Local $RET = Execute($EXP)
|
||||
ConsoleWrite($RET & @CRLF)
|
||||
Exit 0
|
||||
EndFunc
|
||||
|
||||
|
||||
|
||||
;============================== Misc Item ==============================
|
||||
|
||||
|
||||
#CS ------------------------------
|
||||
Func _Usage()
|
||||
Local $Info = @CRLF & "V1.1 By Wayne Tan (2016.06.18)" & @CRLF & @CRLF _
|
||||
& "Command:" & @CRLF _
|
||||
& "/INS: Insert text to a specific line in a file." & @CRLF _
|
||||
& "/DEL: Delete the specified line in a file." & @CRLF _
|
||||
& "/REP: Replace a substring in a file." & @CRLF _
|
||||
& "/NUM: Return the number of lines (with specified sting) of a specified file." & @CRLF _
|
||||
& "/FRL: Return the text of the specified line in a specified text file." & @CRLF _
|
||||
& "/FCL: Return the count of lines in the specified file." & @CRLF _
|
||||
& "/FGA: Return a code string representing a file's attributes." & @CRLF _
|
||||
& "/FSA: Set the attributes of one or more files/directories." & @CRLF _
|
||||
& "/FGT: Return the time and date information for a file." & @CRLF _
|
||||
& "/FST: Set the timestamp of one of more files." & @CRLF _
|
||||
& "/ENC: Determine the text encoding used in a file." & @CRLF _
|
||||
& "/RED: Read a number of characters from a file." & @CRLF _
|
||||
& "/SIZ: Return the size of a file." & @CRLF _
|
||||
& "/VER: Return version information stored in a file." & @CRLF _
|
||||
& "/SRE: Delete(or replace) the lines by the specified string.(RegExp)" & @CRLF _
|
||||
& "/LOG: Write current date, time and the specified text to a log file." & @CRLF & @CRLF _
|
||||
& "Type Command to see the detail information." & @CRLF & @CRLF
|
||||
ConsoleWrite($Info)
|
||||
Exit 0
|
||||
EndFunc
|
||||
#CE ------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user