Что нового

[Автоматизация] Создание BAT файла через AutoIT после чего он запускаеться и удаляеться

NCsoft

Новичок
Сообщения
24
Репутация
0
Всем доброго времени суток !
Облазил и заюзал весь SEO но результатов 0 ...

в общем сообосную всю проблему от А до Я что бы небыло лишних вопросов в формуляции что мне надо ;)

итак :

Есть некое меню (Menu.au3)
в нём есть кнопка -> при нажатие на кнопку нужно что бы она в этой директории создала файл ~RandomName.bat и поместила туда команду из нескольки строк (штук 40 :laugh: )
после чего запустила и удалила его обратно .

что обозначено ***** Text ***** просто не знаю как пишеться скрипт :laugh:

тоесть типа такого плана

Case $Button1
***** Создать файл***** =_TempFile(@ScriptDir,'~','.BAT',5)

Туперь нжно что бы в это файл поместило к примеру вот такой текст :

echo > Game.cmd
echo cd Game >> Game.cmd
echo @echo off >> Game.cmd
echo :start >> Game.cmd
echo TITLE NameWindowCmd >> Game.cmd
echo echo %DATE% %TIME% Game server is running! >> game_is_running.tmp >> Game.cmd
echo echo Starting Point Blank Game Server. >> Game.cmd
echo echo. >> Game.cmd
echo java -server -Dfile.encoding=UTF-8 -Xms512m -Xmx1024m -cp libs/*;configs; ru.platform.GameServer >> Game.cmd
echo if ERRORLEVEL 2 goto restart >> Game.cmd
echo if ERRORLEVEL 1 goto error >> Game.cmd
echo goto end >> Game.cmd
echo :restart >> Game.cmd
echo echo. >> Game.cmd
echo echo %DATE% %TIME% Game Server is restarted >> game_is_running.tmp >> Game.cmd
echo echo. >> Game.cmd
echo goto start >> Game.cmd
echo :error >> Game.cmd
echo echo. >> Game.cmd
echo echo %DATE% %TIME% Game Server terminated abnormaly>> game_is_running.tmp >> Game.cmd
echo echo. >> Game.cmd
echo :end >> Game.cmd
echo echo. >> Game.cmd
echo echo %DATE% %TIME% Game Server terminated >> game_is_running.tmp >> Game.cmd
echo echo. >> Game.cmd
echo pause >> Game.cmd

после этого нужно что бы он запустился и удалился
RunWait($file)
FileDelete($file)

кто поможет ?

в общем нужно мне что бы создавался файл Батник и запускался , потом что бы удаляля

Благодарствую за выделенное внимание


Добавлено:
Сообщение автоматически объединено:

Почти подобрал сам !

Код:
Case $Button1
$hFile = FileOpen(@ScriptDir & '\~.bat', 2)
$sCode = '@echo off' & @CRLF & _
         'set VAR=Test!' & @CRLF & _
         'echo %VAR%'
         
FileWrite($hFile, $sCode)
FileClose($hFile)
RunWait("~.bat")
FileDelete("~.bat")


вот только не могу подобрать с рандомными именами (((
да и почемуто команда

RunWait(hFile)
FileDelete(hFile)

не сработала ( пришлось писать выделенное имя и прописывать в Руне и Дэле тоже это имя ...
Да и стрёмно как то скрипт
Код:
FileOpen


Добавлено:
Сообщение автоматически объединено:

Всем спасибо за активную помошь уважаемый :IL_AutoIt_1: !

вот решение моей проблемы :

Код:
Case $Button1
$file=_TempFile(@ScriptDir,'~','.bat',5)
$sCode = '@echo off' & @CRLF & _
         'set VAR=Test!' & @CRLF & _
         'echo %VAR%'
         
FileWrite($file, $sCode)
FileClose($file)
RunWait($file)
FileDelete($file)
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,485
NCsoft [?]
вот решение моей проблемы
FileClose в таком случае не нужен. Хотя правильнее конечно было бы открывать файл на перезапись.

P.S
Вообще то всю работу батника можно переписать на AutoIt.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,485
И ещё...

[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Автор
N

NCsoft

Новичок
Сообщения
24
Репутация
0
Наврядли на Автоите можно написать всё что работает батник , так как он только в бате указывает его библиотеку и ядро джавы , всё остальное работает cmd.exe , а писать новую cmd-шку на au3 это не в кайф )
 

erlik

Продвинутый
Сообщения
317
Репутация
84
OffTopic:
NCsoft
Наврядли на Автоите можно написать всё что работает батник
Написал несусветную глупость и даже не моргнул глазом. Ты хотя бы разницу между cmd и bat(никами) понимаешь? А уж молчу про разницу между ними и AutoIT.
batch - это всего лишь стремное подобие сценарного языка, а cmd - его стремный интерпретатор.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,485
NCsoft [?]
Наврядли на Автоите можно написать всё что работает батник
:lol:

Что значит навряд ли, конечно можно, и намного большее.
 
Верх