Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
C# - integrare .bat-uri
#1
Posted 29 August 2016 - 19:31
Salutari!
Am inceput sa lucrez la un script, a iesit destul de bine si m-am gandit sa construiesc o aplicatie pe baza lui. Am facut o mini aplicatie in Windows Forms, C#. Cu C# am facut partea de user interaction, de genul: aparitie mesaje, interogari. Am facut doar atat pentru ca doar atat stiu in C#. Ce e mai important se executa tot din bat-ul scris anterior. Din cate am inteles, as putea sa renunt la .bat si nu-l mai port peste tot dupa mine, sa rulez direct din codul de C# operatiile pe care le am in .bat. In definitiv e vorba de o conexiune ftp, de niste copieri de fisiere, stergeri, redenumiri, colectari de output, parsări, nimic extraordinar. Acum intrebarea mea este: exista vreo posibilitate sa integrez codul din .bat in C# si sa-l recunoasca fara sa fac modificari majore? Sau ce am auzit eu cu privire la executia operatiilor din .bat in C# se refera de fapt la faptul ca orice se poate face in .bat se poate face si in C#, pur si simplu? Multumesc! |
#2
Posted 29 August 2016 - 19:36
Orice se poate face in .bat se poate face mult mai elegant in C#.
Daca tii neaparat, poti lansa .bat-ul din C#: https://msdn.microso...rocess(v=vs.110).aspx Cum insa bat-ul e o mizerie pentru orice mai mult decat lansarea unei alte aplicatii, fa-ti linistit treaba din C#, mai inveti una alta. |
#3
Posted 29 August 2016 - 19:38
Poti apela acel .bat cu Process.Start() si poti sa-l scrii inainte de apel. Sau poti cauta in .NET echivalente la ce ai in acel fisier si nu mai ai treba deloc insa echivalentele astea nu-s simple comenzi, ci clase ce trebuie instantiate, apelate metode etc.
Edited by neagu_laurentiu, 29 August 2016 - 19:39. |
#4
Posted 29 August 2016 - 19:50
dani.user, on 29 august 2016 - 19:36, said:
Orice se poate face in .bat se poate face mult mai elegant in C#. Daca tii neaparat, poti lansa .bat-ul din C#: https://msdn.microso...rocess(v=vs.110).aspx Cum insa bat-ul e o mizerie pentru orice mai mult decat lansarea unei alte aplicatii, fa-ti linistit treaba din C#, mai inveti una alta. System.Diagnostics.Process.Start("MyBat.bat"); PS. Linkul respectiv nu-mi merge, imi apare "We're sorry...". |
#5
Posted 29 August 2016 - 19:51
Linku e ok, forumul il taie. Copiaza-l manual cu atentie.
|
#6
Posted 29 August 2016 - 19:53
neagu_laurentiu, on 29 august 2016 - 19:38, said:
Poti apela acel .bat cu Process.Start() si poti sa-l scrii inainte de apel. Sau poti cauta in .NET echivalente la ce ai in acel fisier si nu mai ai treba deloc insa echivalentele astea nu-s simple comenzi, ci clase ce trebuie instantiate, apelate metode etc. In .bat am scris 5 comenzi si mi-am facut treaba, ce zici tu e treaba de OOP... |
#7
Posted 29 August 2016 - 19:56
Nu te opreste nimeni nici sa apelezi din C# executabilele ce le apelai din .bat
|
#8
Posted 29 August 2016 - 20:06
Poti rula fisierul .bat din Resources folosind GetManifestResourceStream .
Edited by red46, 29 August 2016 - 20:07. |
#9
Posted 29 August 2016 - 20:08
In .bat nu apelez executabile, am precizat in postul 1 ce fac in .bat: " e vorba de o conexiune ftp, de niste copieri de fisiere, stergeri, redenumiri, colectari de output, parsări ".
Si deci, pentru chestiunile amintite, am nevoie de mai mult de un simplu apel. red46, on 29 august 2016 - 20:06, said:
Poti rula fisierul .bat din resursele aplicatiei. Aplicatia imi merge perfect, singura chestie care nu-mi place acum este ca trebuie sa copii pe langa aplicatia in sine (.exe, s.a.m.d.) si acel .bat. Plus ca in felul asta oricine va putea sa-mi vada codul din spate. Asta incercam sa evit acum, sa fac cumva sa am si codul din .bat in interiorul aplicatie, in C#. |
#10
Posted 29 August 2016 - 20:10
vlad29marko, on 29 august 2016 - 20:06, said:
In .bat nu apelez executabile, am precizat in postul 1 ce fac in .bat: " e vorba de o conexiune ftp, de niste copieri de fisiere, stergeri, redenumiri, colectari de output, parsări ". Si deci, pentru chestiunile amintite, am nevoie de mai mult de un simplu apel. vlad29marko, on 29 august 2016 - 20:08, said:
In .bat nu apelez executabile, am precizat in postul 1 ce fac in .bat: " e vorba de o conexiune ftp, de niste copieri de fisiere, stergeri, redenumiri, colectari de output, parsări ". Si deci, pentru chestiunile amintite, am nevoie de mai mult de un simplu apel. Nu inteleg la ce te referi prin "resursele aplicatiei". Aplicatia imi merge perfect, singura chestie care nu-mi place acum este ca trebuie sa copii pe langa aplicatia in sine (.exe, s.a.m.d.) si acel .bat. Plus ca in felul asta oricine va putea sa-mi vada codul din spate. Asta incercam sa evit acum, sa fac cumva sa am si codul din .bat in interiorul aplicatie, in C#. Edited by red46, 29 August 2016 - 20:11. |
|
#11
Posted 29 August 2016 - 20:12
Continutul de baza al .bat-ului, am incercat sa iau cateva comenzi reprezentative:
@echo off copy XX.txt YY.txt >NUL set /p ip_adress=<ip_adress.txt echo user anonymous> ftpcommands.dat echo anonymous>> ftpcommands.dat echo bin>> ftpcommands.dat echo cd Windows>> ftpcommands.dat echo delete YY.txt>> ftpcommands.dat ping 127.0.0.1 -n 1 > nul echo put YY.txt>> ftpcommands.dat echo disconnect>> ftpcommands.dat echo quit>> ftpcommands.dat ftp -n -s:ftpcommands.dat %ip_adress% del ftpcommands.dat del YY.txt In portiunea asta creez o copie a unui fisier local si il pun in locul unui alt fisier (cu acelasi nume) prin ftp. |
#12
Posted 29 August 2016 - 20:12
#13
Posted 29 August 2016 - 20:16
neagu_laurentiu, on 29 august 2016 - 20:12, said:
Ti-ai si gasit loc de ascunzatoare, in .NET ! Pai sunt decompilatoare la tot pasul, oricine-ti vede tot codul C#. Obfuscatoarele sunt jucarii. mai ales ca acum e open-source.. vlad29marko, on 29 august 2016 - 20:12, said:
Continutul de baza al .bat-ului, am incercat sa iau cateva comenzi reprezentative: @echo off copy XX.txt YY.txt >NUL set /p ip_adress=<ip_adress.txt echo user anonymous> ftpcommands.dat echo anonymous>> ftpcommands.dat echo bin>> ftpcommands.dat echo cd Windows>> ftpcommands.dat echo delete YY.txt>> ftpcommands.dat ping 127.0.0.1 -n 1 > nul echo put YY.txt>> ftpcommands.dat echo disconnect>> ftpcommands.dat echo quit>> ftpcommands.dat ftp -n -s:ftpcommands.dat %ip_adress% del ftpcommands.dat del YY.txt In portiunea asta creez o copie a unui fisier local si il pun in locul unui alt fisier (cu acelasi nume) prin ftp. dar cum a spus un coleg mai sus.. in 2 minute si un copil de 5 ani iti poate decompila programul. Edited by red46, 29 August 2016 - 20:16. |
#14
Posted 29 August 2016 - 20:16
Ca e open nu are importanta, si GCC e la fel dar poti sa-i faci reverse la nivel inalt ? Nu.
Sunt si in .NET terte aplicatii de securizare dar costa cat inca o licenta de VS. Edited by neagu_laurentiu, 29 August 2016 - 20:18. |
#15
Posted 29 August 2016 - 20:29
neagu_laurentiu, on 29 august 2016 - 20:12, said:
Ti-ai si gasit loc de ascunzatoare, in .NET ! Pai sunt decompilatoare la tot pasul, oricine-ti vede tot codul C#. Obfuscatoarele sunt jucarii. @red46 In schimb ideea cu convertirea bat-urilor in exe-uri mi se pare ok. As investiga si treaba cu resursele, dar e foarte greu sa tin pasul cu tine, iti modifici constant mesajele, nu mai stiu unde sa ma uit. )) Edited by vlad29marko, 29 August 2016 - 20:30. |
|
#16
Posted 29 August 2016 - 20:33
#17
Posted 29 August 2016 - 20:38
vlad29marko, on 29 august 2016 - 20:29, said:
era doar ideea ca e aiurea sa cari scripturile dupa tine, orice user putand sa-l modifice, sa-l deschida and so on. Edited by neagu_laurentiu, 29 August 2016 - 20:39. |
#18
Posted 29 August 2016 - 20:45
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users