Posted 2 years ago
·
Author
IMVU Product Chkn Name Randomizer
This script will give all chkns in a specific folder a randomized 10 character name. It will also generate a text file that lists what each chkn was renamed to in case you need to restore the chkn's original name.
How do I use this script?
To learn how to use these scripts, see my tutorial on compiling AutoIT scripts here: viewtopic.php?f=113&t=12150
This script will give all chkns in a specific folder a randomized 10 character name. It will also generate a text file that lists what each chkn was renamed to in case you need to restore the chkn's original name.
#include <Array.au3>
#include <File.au3>
;The directory to search in
Global $sWorkingDirectory = "C:\Users\User\Desktop\New folder"
Global $sHistoryFileName = "chkn renamer history.txt"
Global $sHistoryFilePath = $sWorkingDirectory & "\" & $sHistoryFileName
;Create an array of ASCII codes to generate the string from.
;We do this rather than using Chr(Random(num,num,1)) because
;this is less work
Global $aAvailableCharacters = StringToASCIIArray("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
Const $iNewNameLength = 10
If Not FileExists($sWorkingDirectory) Then
MsgBox($MB_ICONERROR, "Error", "The working directory is missing.")
Exit
EndIF
;Create an array of all the CHKNs found in the working directory
$aChknArray = _FileListToArray($sWorkingDirectory, "*.chkn")
;If no CHKNs were found
If @error = 4 Then
MsgBox($MB_ICONERROR, "Error", "No CHKNs were found.")
Exit
EndIf
Local $hFileOpen = FileOpen($sHistoryFilePath, $FO_APPEND)
For $i = 1 to $aChknArray[0]
Local $sNewName = GenerateRandomName()
FileMove($sWorkingDirectory & "\" & $aChknArray[$i], $sWorkingDirectory & "\" & $sNewName & ".chkn")
$sHistoryLine = $aChknArray[$i] & " was renamed to " & $sNewName & ".chkn"
ConsoleWrite($sHistoryLine & @LF);
FileWrite($hFileOpen, $sHistoryLine & @CRLF)
Next
Func GenerateRandomName()
Local $sNewName = ""
For $i = 1 To $iNewNameLength
Local $sPreviousCharacter = ""
;Create a variable to store the chosen character and give it a value
;by selecting a random ASCII code from the $aAvailableCharacters array And
;converting it to a character
Local $sSelectedCharacter = Chr($aAvailableCharacters[Random(1, UBound($aAvailableCharacters))])
;prevent duplicate characters side-by-side by repeatedly generating a new character
;using the same technique as above until a unique one is found
Do
$sSelectedCharacter = Chr($aAvailableCharacters[Random(1, UBound($aAvailableCharacters))])
Until Not ($sSelectedCharacter = $sPreviousCharacter)
$sPreviousCharacter = $sSelectedCharacter
$sNewName &= $sSelectedCharacter
Next
Return $sNewName
EndFunc
How do I use this script?
To learn how to use these scripts, see my tutorial on compiling AutoIT scripts here: viewtopic.php?f=113&t=12150