Что нового

Самопереименовка исполняемого EXE

saraconor

Новичок
Сообщения
404
Репутация
3
Есть возможность встроить в скрипт функцию переименовывающую исполняемый файл этого скрипта?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
saraconor,
Попробуйте так, у меня работает.
Код:
If @Compiled Then
	OnAutoItExitRegister('_Rename')
Else
	MsgBox(16, 'Error', 'Only Compiled')
	Exit
EndIf

$sNewName = InputBox('Rename', 'Input new name', 'new_name')

Func _Rename()
	$sNewName = StringRegExpReplace($sNewName, '[^\wА-яЁё]', '')
	If $sNewName Then
		FileMove(@ScriptFullPath, @ScriptDir & '\' & $sNewName & '.exe', 1)
	EndIf
EndFunc   ;==>_Rename
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Еще вариант:
Код:
OnAutoItExitRegister('_Rename')

Func _Rename()
	Local $Ext = '.au3'
	If @Compiled Then $Ext = '.exe'
	Local $File = @TempDir & '\ren.bat'
	Local $Bat = 'ping -n 1 127.0.0.1 >NUL' & @CRLF & _
				  'Ren ' & FileGetShortName(@ScriptFullPath) & ' ' & Random(100000, 200000, 1) & $Ext
	if FileExists($File) Then FileDelete($File)
	FileWrite($File, $Bat)
	ShellExecute($File, '', '', '', @SW_HIDE)
EndFunc
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
saraconor,
[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Верх