Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Dvori
Člen
Avatar
Dvori:30.5.2018 15:57

Ahoj všem, mám dotaz a už si opravdu zoufám.

Vytvořil jsem si jednoduchou aplikaci, která z tabulky vytáhne data a z nich vygeneruje vbs file, který má následně spustit. Jenže zde je kámen úrazu. Vygenerovaný soubor se spustí, ale v klasické cmdline a na všechny příkazy vrátí hodnotu neznámé atd..

Když vygenerovaný soubor otevřu klasicky dvojklikem ze složky, tak se provede v pořádku. Takže chyba ve vygenerovaném souboru není.

Co jsem se dočetl, tak by se měl vbs spouštět pomocí cscript.exe, ale nějak se mi nedaří najít správný klíč.

Pokud by mi někdo mohl poradit, či poskytnout řešení, byl bych moc vděčný. Celá aplikace je již hotová a na tomhle to aktuálně stojí. :(

Díky Petr

Zkusil jsem: Tento kus kódu jsem našel na netu jako údajně funkční, ale nedaří se mi. Tak nevím jestli jsem jej upravil správně.

Process scriptProc = new Process();
                    scriptProc.StartInfo.FileName = @"cscript";
                    scriptProc.StartInfo.WorkingDirectory = @"C:\SMS\SMSConfigFile\";
                    scriptProc.StartInfo.Arguments = "//B //Nologo "+TechnickePromenne.SMSNazevSouboru+".vbs";
                    scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                    scriptProc.Start();
                    scriptProc.WaitForExit();
                    scriptProc.Close();
 
Odpovědět
30.5.2018 15:57
Avatar
Odpovídá na Dvori
Michael Škrášek:30.5.2018 22:36

A nepostačilo by pouhé

Process.Start(@"cesta\k\souboru.vbs");

... mně to script spouští :)

Editováno 30.5.2018 22:37
Nahoru Odpovědět
30.5.2018 22:36
"I choose a lazy person to do a hard job. Because that person will find an easy way to do it. " Bill Gates
Avatar
Dvori
Člen
Avatar
Odpovídá na Michael Škrášek
Dvori:31.5.2018 9:50

Ahoj, to jsem zkoušel, ale takto to nefunguje.

 
Nahoru Odpovědět
31.5.2018 9:50
Avatar
plelovsky
Člen
Avatar
plelovsky:31.5.2018 10:57

Jméno scriptu má být první argument pro cscrpit

scriptProc.StartInfo.Arguments = TechnickePromenne.SMSNazevSouboru + ".vbs //B //Nologo";
 
Nahoru Odpovědět
31.5.2018 10:57
Avatar
Dvori
Člen
Avatar
Odpovídá na plelovsky
Dvori:31.5.2018 12:33

Bohužel, nefunguje :-(

 
Nahoru Odpovědět
31.5.2018 12:33
Avatar
Dvori
Člen
Avatar
Dvori:31.5.2018 12:33

Ahoj, takto vypadá vygenerovaný vbs.

Set cloner = CreateObject("WScript.Shell")
cloner.run"cmd"
WScript.Sleep 1000

cloner.SendKeys"telnet 192.168.1.101"
cloner.SendKeys("{Enter}")
WScript.Sleep 1500

cloner.SendKeys"root"
cloner.SendKeys("{Enter}")
WScript.Sleep 1500

cloner.SendKeys"root"
cloner.SendKeys("{Enter}")
WScript.Sleep 1500

cloner.SendKeys"sms 999999999 Ahoj toto je vygenerovana SMS"
cloner.SendKeys("{Enter}")
WScript.Sleep 7000

cloner.SendKeys"exit"
WScript.Sleep 1000
cloner.SendKeys("{Enter}")
WScript.Sleep 1000
cloner.SendKeys("{Enter}")

cloner.SendKeys"exit"
WScript.Sleep 1000
cloner.SendKeys("{Enter}")

Když vygenerovaný soubor spustím klasicky dvojklikem tak se vykoná a dorazí SMS. Když je ho pokusím spustit z WF aplikace, tak nefunguje. Pustí se cmd a začne vkládat příkazy, ale na všechny kroky vrátí, že nebylo nalezeno, atd. :-(

Nějaký jiný nápad jak jednoduše poslat telnetem do zařízení řádek s příkazem na odeslání SMS? Já doufal, že to vyřeším přes VBS, ale už jsem z toho na prášky.

 
Nahoru Odpovědět
31.5.2018 12:33
Avatar
plelovsky
Člen
Avatar
plelovsky:31.5.2018 13:29

Spouštět z aplikace cscript, z něj wscript, z něj cmd a z něj telnet je hodně škrábání se za hlavou z druhé strany.
Proč jako process nepustíš ten telnet a neposíláš mu data?
https://msdn.microsoft.com/…vs.110).aspx

 
Nahoru Odpovědět
31.5.2018 13:29
Avatar
Dvori
Člen
Avatar
Dvori:31.5.2018 13:29

Tak jsem pokročil, problém bude v 64bitovém systému. Na windows 7 32bit funguje jednoduchý:

Process.Start(@"C:\VZOR1.vbs");

Ale na 64 bitovém systému se sice script spustí, ale hned to vrací chyby.

 
Nahoru Odpovědět
31.5.2018 13:29
Avatar
Dvori
Člen
Avatar
Dvori:31.5.2018 13:40

Vyřešeno, přepnul jsem projekt na target 64bit systém.

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
31.5.2018 13:40
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.