Что нового

Автоматизация ввода в txt

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
Вот получился такой код

Код:
Run("notepad.exe")
WinWaitActive("[class:Notepad]")
Send("cls")
Send ("{ENTER}")
Send("@ECHO OFF")
Send("{ENTER}")
Send("title Folder Private")
Send("{ENTER}")
Send("if EXIST "Compconfig Locker" goto UNLOCK")
Send("{ENTER}")
Send("if NOT EXIST Private goto MDLOCKER")
Send("{ENTER}")
Send(":CONFIRM")
Send("{ENTER}")
Send("echo Are you sure you want to lock the folder(Y/N)")
Send("{ENTER}")
Send("set/p "cho=>"")
Send("{ENTER}")
Send("if %cho%==Y goto LOCK")
Send("{ENTER}")
Send("if %cho%==y goto LOCK")
Send("{ENTER}")
Send("if %cho%==n goto END")
Send("{ENTER}")
Send("if %cho%==N goto END")
Send("{ENTER}")
Send("echo Invalid choice.")
Send("{ENTER}")
Send("goto CONFIRM")
Send("{ENTER}")
Send(":LOCK")
Send("{ENTER}")
Send("ren Private "Compconfig Locker"")
Send("{ENTER}")
Send("attrib +h +s "Compconfig Locker"")
Send("{ENTER}")
Send("echo Folder locked")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":UNLOCK")
Send("{ENTER}")
Send("echo Enter password to unlock folder")
Send("{ENTER}")
Send("set/p "pass=>"")
Send("{ENTER}")
Send("if NOT %pass%==")
Send(""); Пароль
Send(" goto FAIL")
Send("{ENTER}")
Send("attrib -h -s "Compconfig Locker"")
Send("{ENTER}")
Send("ren "Compconfig Locker" Private")
Send("{ENTER}")
Send("echo Folder Unlocked successfully")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":FAIL")
Send("{ENTER}")
Send("echo Invalid password")
Send("{ENTER}")
Send("goto end")
Send("{ENTER}")
Send(":MDLOCKER")
Send("{ENTER}")
Send("md Private")
Send("{ENTER}")
Send("echo Private created successfully")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":End")

Но во первых, кавычки мне прописать не удалось. Может знает кто как это сделать?
Во вторых, там где комментарий "пароль". Нужно вставить этот код

Код:
#include <GUIConstants.au3>

GUICreate(" My GUI input acceptfile", 320,120, @DesktopWidth/2-160, @DesktopHeight/2-45, -1, 0x00000018); WS_EX_ACCEPTFILES
$file = GUICtrlCreateInput ( "", 10, 5, 300, 20)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
GUICtrlCreateInput ("", 10, 35, 300, 20) ; will not accept drag&drop files
$btn = GUICtrlCreateButton ("Ok", 40, 75, 60, 20)

GUISetState () 

$msg = 0
While $msg <> $GUI_EVENT_CLOSE
 $msg = GUIGetMsg()
 Select
 Case $msg = $btn
 exitloop
 EndSelect
Wend

MsgBox (4096, "drag drop file", GUICtrlRead($file))
Но таким образом, что бы вместо вывода сообщения, то, что введено в поле input прописалось в строку блокнота.

Пытался сделать своими силами, но комп зависал окончательно. Без последнего кода не работают строки с кавычками.

Пожалуйста. Посоветуйте
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
VermanVendetta13 [?]
кавычки мне прописать не удалось
Замените крайние двойные кавычки на одинарные. Пример
Код:
Send('if EXIST "Compconfig Locker" goto UNLOCK')
Send('ren Private "Compconfig Locker"')


то, что введено в поле input прописалось в строку блокнота
Код:
Send(GUICtrlRead($file)) ; Пароль


Код:
FileWriteLine()
 
Автор
V

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
InnI сказал(а):
VermanVendetta13 [?]
кавычки мне прописать не удалось
Замените крайние двойные кавычки на одинарные. Пример
Код:
Send('if EXIST "Compconfig Locker" goto UNLOCK')
Send('ren Private "Compconfig Locker"')


то, что введено в поле input прописалось в строку блокнота
Код:
Send(GUICtrlRead($file)) ; Пароль


Код:
FileWriteLine()


Вот сделал как ты сказал(вроде)

Код:
Run("notepad.exe")
WinWaitActive("[class:Notepad]")
Send("cls")
Send ("{ENTER}")
Send("@ECHO OFF")
Send("{ENTER}")
Send("title Folder Private")
Send("{ENTER}")
Send('if EXIST "Compconfig Locker" goto UNLOCK')
Send("{ENTER}")
Send("if NOT EXIST Private goto MDLOCKER")
Send("{ENTER}")
Send(":CONFIRM")
Send("{ENTER}")
Send("echo Are you sure you want to lock the folder(Y/N)")
Send("{ENTER}")
Send('set/p "cho=>"')
Send("{ENTER}")
Send("if %cho%==Y goto LOCK")
Send("{ENTER}")
Send("if %cho%==y goto LOCK")
Send("{ENTER}")
Send("if %cho%==n goto END")
Send("{ENTER}")
Send("if %cho%==N goto END")
Send("{ENTER}")
Send("echo Invalid choice.")
Send("{ENTER}")
Send("goto CONFIRM")
Send("{ENTER}")
Send(":LOCK")
Send("{ENTER}")
Send('ren Private "Compconfig Locker"')
Send("{ENTER}")
Send('attrib +h +s "Compconfig Locker"')
Send("{ENTER}")
Send("echo Folder locked")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":UNLOCK")
Send("{ENTER}")
Send("echo Enter password to unlock folder")
Send("{ENTER}")
Send('set/p "pass=>"')
Send("{ENTER}")
Send("if NOT %pass%==")

#include <GUIConstants.au3>

GUICreate(" My GUI input acceptfile", 320,120, @DesktopWidth/2-160, @DesktopHeight/2-45, -1, 0x00000018); WS_EX_ACCEPTFILES
$file = GUICtrlCreateInput ( "", 10, 5, 300, 20)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
GUICtrlCreateInput ("", 10, 35, 300, 20) ; will not accept drag&drop files
$btn = GUICtrlCreateButton ("Ok", 40, 75, 60, 20)

GUISetState ()

$msg = 0
While $msg <> $GUI_EVENT_CLOSE
 $msg = FileWriteLine()
 Select
 Case $msg = $btn

 EndSelect
Wend

Send(GUICtrlRead($sfile)); Пароль
Send(" goto FAIL")
Send("{ENTER}")
Send('attrib -h -s "Compconfig Locker"')
Send("{ENTER}")
Send('ren "Compconfig Locker" Private')
Send("{ENTER}")
Send("echo Folder Unlocked successfully")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":FAIL")
Send("{ENTER}")
Send("echo Invalid password")
Send("{ENTER}")
Send("goto end")
Send("{ENTER}")
Send(":MDLOCKER")
Send("{ENTER}")
Send("md Private")
Send("{ENTER}")
Send("echo Private created successfully")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":End")

GUI создается, но тут же отключается и выдается эта ошибка

Код:
$msg = FileWriteLine()
$msg = ^ ERROR
>Exit code: 1 Time: 6.78
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
$msg = FileWriteLine()
Это неправильный код. Правильно так:
Код:
$msg = GUIGetMsg()
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
а по ошибке нужно читать справку. смотреть примеры создания окон, а не бездумно копировать
OffTopic:
народ, вы поражаете :smile:
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
VermanVendetta13
Вся работа начинается после нажатия ОК
Код:
#include <GUIConstants.au3>

GUICreate(" My GUI input acceptfile", 320,120, @DesktopWidth/2-160, @DesktopHeight/2-45, -1, 0x00000018); WS_EX_ACCEPTFILES
$file = GUICtrlCreateInput ( "", 10, 5, 300, 20)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
GUICtrlCreateInput ("", 10, 35, 300, 20) ; will not accept drag&drop files
$btn = GUICtrlCreateButton ("Ok", 40, 75, 60, 20)

GUISetState ()

While 1
  Switch GUIGetMsg()
    Case $btn
      $Pass = GUICtrlRead($file)
      GUIDelete()
      ExitLoop
    Case $GUI_EVENT_CLOSE
      Exit
  EndSwitch
WEnd

Run("notepad.exe")
WinWaitActive("[class:Notepad]")
Send("cls")
Send ("{ENTER}")
Send("@ECHO OFF")
Send("{ENTER}")
Send("title Folder Private")
Send("{ENTER}")
Send('if EXIST "Compconfig Locker" goto UNLOCK')
Send("{ENTER}")
Send("if NOT EXIST Private goto MDLOCKER")
Send("{ENTER}")
Send(":CONFIRM")
Send("{ENTER}")
Send("echo Are you sure you want to lock the folder(Y/N)")
Send("{ENTER}")
Send('set/p "cho=>"')
Send("{ENTER}")
Send("if %cho%==Y goto LOCK")
Send("{ENTER}")
Send("if %cho%==y goto LOCK")
Send("{ENTER}")
Send("if %cho%==n goto END")
Send("{ENTER}")
Send("if %cho%==N goto END")
Send("{ENTER}")
Send("echo Invalid choice.")
Send("{ENTER}")
Send("goto CONFIRM")
Send("{ENTER}")
Send(":LOCK")
Send("{ENTER}")
Send('ren Private "Compconfig Locker"')
Send("{ENTER}")
Send('attrib +h +s "Compconfig Locker"')
Send("{ENTER}")
Send("echo Folder locked")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":UNLOCK")
Send("{ENTER}")
Send("echo Enter password to unlock folder")
Send("{ENTER}")
Send('set/p "pass=>"')
Send("{ENTER}")
Send("if NOT %pass%==")
Send($Pass); Пароль
Send(" goto FAIL")
Send("{ENTER}")
Send('attrib -h -s "Compconfig Locker"')
Send("{ENTER}")
Send('ren "Compconfig Locker" Private')
Send("{ENTER}")
Send("echo Folder Unlocked successfully")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":FAIL")
Send("{ENTER}")
Send("echo Invalid password")
Send("{ENTER}")
Send("goto end")
Send("{ENTER}")
Send(":MDLOCKER")
Send("{ENTER}")
Send("md Private")
Send("{ENTER}")
Send("echo Private created successfully")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":End")

FileWriteLine() я вам предложил, чтобы сразу в файл писать, а не в блокнот.
 
Автор
V

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
InnI сказал(а):
VermanVendetta13
Вся работа начинается после нажатия ОК
Код:
#include <GUIConstants.au3>

GUICreate(" My GUI input acceptfile", 320,120, @DesktopWidth/2-160, @DesktopHeight/2-45, -1, 0x00000018); WS_EX_ACCEPTFILES
$file = GUICtrlCreateInput ( "", 10, 5, 300, 20)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
GUICtrlCreateInput ("", 10, 35, 300, 20) ; will not accept drag&drop files
$btn = GUICtrlCreateButton ("Ok", 40, 75, 60, 20)

GUISetState ()

While 1
  Switch GUIGetMsg()
    Case $btn
      $Pass = GUICtrlRead($file)
      GUIDelete()
      ExitLoop
    Case $GUI_EVENT_CLOSE
      Exit
  EndSwitch
WEnd

Run("notepad.exe")
WinWaitActive("[class:Notepad]")
Send("cls")
Send ("{ENTER}")
Send("@ECHO OFF")
Send("{ENTER}")
Send("title Folder Private")
Send("{ENTER}")
Send('if EXIST "Compconfig Locker" goto UNLOCK')
Send("{ENTER}")
Send("if NOT EXIST Private goto MDLOCKER")
Send("{ENTER}")
Send(":CONFIRM")
Send("{ENTER}")
Send("echo Are you sure you want to lock the folder(Y/N)")
Send("{ENTER}")
Send('set/p "cho=>"')
Send("{ENTER}")
Send("if %cho%==Y goto LOCK")
Send("{ENTER}")
Send("if %cho%==y goto LOCK")
Send("{ENTER}")
Send("if %cho%==n goto END")
Send("{ENTER}")
Send("if %cho%==N goto END")
Send("{ENTER}")
Send("echo Invalid choice.")
Send("{ENTER}")
Send("goto CONFIRM")
Send("{ENTER}")
Send(":LOCK")
Send("{ENTER}")
Send('ren Private "Compconfig Locker"')
Send("{ENTER}")
Send('attrib +h +s "Compconfig Locker"')
Send("{ENTER}")
Send("echo Folder locked")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":UNLOCK")
Send("{ENTER}")
Send("echo Enter password to unlock folder")
Send("{ENTER}")
Send('set/p "pass=>"')
Send("{ENTER}")
Send("if NOT %pass%==")
Send($Pass); Пароль
Send(" goto FAIL")
Send("{ENTER}")
Send('attrib -h -s "Compconfig Locker"')
Send("{ENTER}")
Send('ren "Compconfig Locker" Private')
Send("{ENTER}")
Send("echo Folder Unlocked successfully")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":FAIL")
Send("{ENTER}")
Send("echo Invalid password")
Send("{ENTER}")
Send("goto end")
Send("{ENTER}")
Send(":MDLOCKER")
Send("{ENTER}")
Send("md Private")
Send("{ENTER}")
Send("echo Private created successfully")
Send("{ENTER}")
Send("goto End")
Send("{ENTER}")
Send(":End")

FileWriteLine() я вам предложил, чтобы сразу в файл писать, а не в блокнот.



Огромное спасибо за разъяснения!!
Остался лишь один вопрос. Можно ли эту запись в блокнот сделать в скрытом режиме?
 
Автор
V

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
InnI сказал(а):
VermanVendetta13 [?]
Можно ли эту запись в блокнот сделать в скрытом режиме?
Можно. А зачем?


Нужно что бы пользователь на стороннем компьютере, даже не догадался о том, что код, который прописывается в блокноте есть в свободном доступе.

Нет я не пытаюсь провести махинацию, это нужно всего лишь для вида, что все серьезно
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
VermanVendetta13
Если вам нужно тайно создать батник, то сделайте это так
Код:
#include <GUIConstants.au3>

GUICreate(" My GUI input acceptfile", 320,120, @DesktopWidth/2-160, @DesktopHeight/2-45, -1, 0x00000018); WS_EX_ACCEPTFILES
$file = GUICtrlCreateInput ( "", 10, 5, 300, 20)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
GUICtrlCreateInput ("", 10, 35, 300, 20) ; will not accept drag&drop files
$btn = GUICtrlCreateButton ("Ok", 40, 75, 60, 20)

GUISetState ()

While 1
  Switch GUIGetMsg()
    Case $btn
      $Pass = GUICtrlRead($file)
      GUIDelete()
      ExitLoop
    Case $GUI_EVENT_CLOSE
      Exit
  EndSwitch
WEnd

$Text = "cls" & @CRLF & _
"@ECHO OFF" & @CRLF & _
"title Folder Private" & @CRLF & _
'if EXIST "Compconfig Locker" goto UNLOCK' & @CRLF & _
"if NOT EXIST Private goto MDLOCKER" & @CRLF & _
":CONFIRM" & @CRLF & _
"echo Are you sure you want to lock the folder(Y/N & @CRLF & _" & @CRLF & _
'set/p "cho=>"' & @CRLF & _
"if %cho%==Y goto LOCK" & @CRLF & _
"if %cho%==y goto LOCK" & @CRLF & _
"if %cho%==n goto END" & @CRLF & _
"if %cho%==N goto END" & @CRLF & _
"echo Invalid choice." & @CRLF & _
"goto CONFIRM" & @CRLF & _
":LOCK" & @CRLF & _
'ren Private "Compconfig Locker"' & @CRLF & _
'attrib +h +s "Compconfig Locker"' & @CRLF & _
"echo Folder locked" & @CRLF & _
"goto End" & @CRLF & _
":UNLOCK" & @CRLF & _
"echo Enter password to unlock folder" & @CRLF & _
'set/p "pass=>"' & @CRLF & _
"if NOT %pass%==" & $Pass & @CRLF & _
"goto FAIL" & @CRLF & _
'attrib -h -s "Compconfig Locker"' & @CRLF & _
'ren "Compconfig Locker" Private' & @CRLF & _
"echo Folder Unlocked successfully" & @CRLF & _
"goto End" & @CRLF & _
":FAIL" & @CRLF & _
"echo Invalid password" & @CRLF & _
"goto end" & @CRLF & _
":MDLOCKER" & @CRLF & _
"md Private" & @CRLF & _
"echo Private created successfully" & @CRLF & _
"goto End" & @CRLF & _
":End"

FileWrite("name.bat", $Text)
 
Автор
V

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
InnI сказал(а):
VermanVendetta13
Если вам нужно тайно создать батник, то сделайте это так
Код:
#include <GUIConstants.au3>

GUICreate(" My GUI input acceptfile", 320,120, @DesktopWidth/2-160, @DesktopHeight/2-45, -1, 0x00000018); WS_EX_ACCEPTFILES
$file = GUICtrlCreateInput ( "", 10, 5, 300, 20)
GUICtrlSetState(-1,$GUI_DROPACCEPTED)
GUICtrlCreateInput ("", 10, 35, 300, 20) ; will not accept drag&drop files
$btn = GUICtrlCreateButton ("Ok", 40, 75, 60, 20)

GUISetState ()

While 1
  Switch GUIGetMsg()
    Case $btn
      $Pass = GUICtrlRead($file)
      GUIDelete()
      ExitLoop
    Case $GUI_EVENT_CLOSE
      Exit
  EndSwitch
WEnd

$Text = "cls" & @CRLF & _
"@ECHO OFF" & @CRLF & _
"title Folder Private" & @CRLF & _
'if EXIST "Compconfig Locker" goto UNLOCK' & @CRLF & _
"if NOT EXIST Private goto MDLOCKER" & @CRLF & _
":CONFIRM" & @CRLF & _
"echo Are you sure you want to lock the folder(Y/N & @CRLF & _" & @CRLF & _
'set/p "cho=>"' & @CRLF & _
"if %cho%==Y goto LOCK" & @CRLF & _
"if %cho%==y goto LOCK" & @CRLF & _
"if %cho%==n goto END" & @CRLF & _
"if %cho%==N goto END" & @CRLF & _
"echo Invalid choice." & @CRLF & _
"goto CONFIRM" & @CRLF & _
":LOCK" & @CRLF & _
'ren Private "Compconfig Locker"' & @CRLF & _
'attrib +h +s "Compconfig Locker"' & @CRLF & _
"echo Folder locked" & @CRLF & _
"goto End" & @CRLF & _
":UNLOCK" & @CRLF & _
"echo Enter password to unlock folder" & @CRLF & _
'set/p "pass=>"' & @CRLF & _
"if NOT %pass%==" & $Pass & @CRLF & _
"goto FAIL" & @CRLF & _
'attrib -h -s "Compconfig Locker"' & @CRLF & _
'ren "Compconfig Locker" Private' & @CRLF & _
"echo Folder Unlocked successfully" & @CRLF & _
"goto End" & @CRLF & _
":FAIL" & @CRLF & _
"echo Invalid password" & @CRLF & _
"goto end" & @CRLF & _
":MDLOCKER" & @CRLF & _
"md Private" & @CRLF & _
"echo Private created successfully" & @CRLF & _
"goto End" & @CRLF & _
":End"

FileWrite("name.bat", $Text)

Еще раз, огромное спасибо, разобрался во всем)))) :IL_AutoIt_1:
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
VermanVendetta13
Ошибочка у меня там в батнике. Замените две строки
Код:
"if NOT %pass%==" & $Pass & @CRLF & _
"goto FAIL" & @CRLF & _
на одну
Код:
"if NOT %pass%==" & $Pass & " goto FAIL" & @CRLF & _
 
Автор
V

VermanVendetta13

Новичок
Сообщения
147
Репутация
0
InnI сказал(а):
VermanVendetta13
Ошибочка у меня там в батнике. Замените две строки
Код:
"if NOT %pass%==" & $Pass & @CRLF & _
"goto FAIL" & @CRLF & _
на одну
Код:
"if NOT %pass%==" & $Pass & " goto FAIL" & @CRLF & _

Супер. Вы мой кумир)


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

InnI сказал(а):
VermanVendetta13
Ошибочка у меня там в батнике. Замените две строки
Код:
"if NOT %pass%==" & $Pass & @CRLF & _
"goto FAIL" & @CRLF & _
на одну
Код:
"if NOT %pass%==" & $Pass & " goto FAIL" & @CRLF & _


Один косячок. Goto fail сливается с паролем(((
 
Верх