Toon posts:

[AutoITscript] error: 16-bits MS-DOS-subsyteem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een erg simpel script die 2 versies van bestanden registreert.

Dit is mijn code die ik heb gemaakt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
$file = FileOpen("C:\Windows\System32\CONFIG.NT", 1)
FileWriteLine($file, "device=c:\windows\system32\setver.exe")
FileCopy("C:\test\Restore.exe", "C:\Windows\System32\*.*")
FileCopy("C:\test\Backup.exe", "C:\Windows\System32\*.*")
Sleep(2000)
Send("#r")
Sleep(2000)
Send("setver backup 6.22{enter}")
Sleep(2000)
Send("#r")
Sleep(2000)
Send("setver restore 6.22{enter}")
Sleep(5000)


Als ik dit script uitvoer dan krijg ik de volgende fout melding:

Afbeeldingslocatie: http://www.xs4all.nl/~iznogoud/f0t0/error.JPG

Wat er gebeurt:
is dat er de volgende toetsen door AutoIT worden ingedrukf
START > Uitvoeren > setver restore 6.22 {enter}

Als dit door AutoIT wordt uitgevoert dan krijg je de bovenstaande foutmelding.
Typ ik het zelf in dan gaat het wel goed |:(

Ik met mijn simpele verstand naja dan laat ik AutoIT wel een batch file starten, maar wederom krijg ik die foutmelding.

Volgende wat ik nog heb geprobeert:
Eerst een dos venster laten starten (run("cmd.exe") en vervolgens de text setver restore 6.22 {enter}, maar wederom geeft dit de foutmelding terug en wederom als ik dit zelf in typ krijg ik de foutmelding niet.

Iemand enig idee wat ik hier verkeerd doe, of welke functie ik moet gebruiken
Dit probleem moet in AutoIT liggen volgens mij.

[ Voor 6% gewijzigd door Verwijderd op 05-09-2005 23:23 ]


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Zoek even op de melding die in je screenshot staat op GoT - hier is ewl e.e.a. over te vinden namelijk :)

Verwijderd

Topicstarter
Het is geen probleem van Windows XP, het zit in AutoIT zelf.
Als je het uitvoert in Windows door het zelf te typen dan gaat het allemaal goed, maarja het hele idee is juist om dat niet te doen :*)

Ik heb gezocht op Got, Google en MS Kb, maar kan zo niks vinden m.b.t. dit probleem.
Vandaar ik zelf al onnozele oplossingen heb zitten proberen.

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 11-04 17:07
als je een bestand wil registreren dan kan je toch
Run("regsvr32 /s c:\test\backup.exe")
doen? Al weet ik niet of je ook exe's kan registreren, normaal doe ik dat alleen met dll's.

@elevator (en TS) >> in AutoIt heb je een @ComSpec variable, die regelt dat zelf

[ Voor 203% gewijzigd door SWINX op 05-09-2005 23:49 ]

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Ik vermoed toch echt dat het een probleem in XP is - start voor de grap eens "command.com" op ipv. cmd.exe? :)

Verwijderd

Topicstarter
*zucht* B)
IN windows xp als ik het ZELF typ dan werken alle commando's gewoon goed :) , maar wil ik het automatisch laten uitvoeren door AutoIT dan krijg ik die foutmelding.

Als ik nu in Windows Xp gewoon setver backup 6.22 typ en vervolgens op enter werkt het goed.

HE bah, nu voer ik dit gedeelte uit van het script:

code:
1
2
3
4
5
6
7
8
Send("#r")
Sleep(2000)
Send("setver backup 6.22{enter}")
Sleep(2000)
Send("#r")
Sleep(2000)
Send("setver restore 6.22{enter}")
Sleep(5000)


en hier thuis bij mij gaat het wel goed ook wederom op een Xp PC. Elevator zul je dan toch gelijk hebben O-)

Ga morgenvroeg gelijk even op de zaak testen |:(
Laat het jullie morgen vroeg wel even horen :+


Edit
Ik heb het opgeplits in 2 los staande scripts en dit heeft zowieso geholpen.
Het punt was dat met een bepaalt gedeelte van de code een bestand open heeft laten staan wat dit probleem heeft veroorzaakt.
De funtie closefile gebruikt en tada de oplossing B)

[ Voor 77% gewijzigd door Verwijderd op 06-09-2005 23:10 ]

Pagina: 1