Program ma otwierać MS-DOSa i automatycznie wpisać komendę, a potem 'exit' i "nacisnąć" enter. Da się zrobić coś takiego?
Co to ma wspólnego z asemblerem? CreateProcess z command.com, uchwyty do stdin i stdout. Zapisujesz polecenia na stdin, wczytujesz wyniki z stdout. Takie trudne? Hmm... chyba, że w rzeczywistym dosie chcesz to uzyskać... wtedy to programy TSR.
nie no, wszystko fajnie...tylko że nic z tego nie kumam. możesz troszkę zwięźlej?
tworzysz plik np. c:\commands.txt:
dir /w
copy a.txt b.txt
rem ... itd
exit
rem na końcu musi być pusta linia
i wywołujesz sobie zwyczajnie program:
command.com < c:\commands.txt
jak wywołać program z podanymi argumentami, to już zależy, czy siedzisz w Pascalu czy Delphi. poszukaj o Exec, ShellExecute itp
taki sposób uruchamia kopię interpretera, a więc ma ograniczenia, np nie da się w ten sposób zmodyfikować zmiennych środowiskowych.
btw: ja też nie mam pojęcia, jaki to ma związek z asemblerem...
wystarczy
command.com /C "copy a.txt b.txt"
Ranides & Adamo, ale to już nie jest programowanie :P
exec('command.com', '/C whatever');
i już jest programowanie pełną parą :D
nie, no ale skoro program pozwala na zrobienie czegoś za pomocą uruchomienia z odpowiednim przełącznikiem to chyba lepiej to wykorzystać niż zrobić program który po kryjomu uruchomi program i kliknie gdzie trzeba
@deus:
ale to jest prawie jak programowanie ;P
@Adamo:
to może jeszcze rozwinę twój sposób o jedną rzecz, mianowicie twoją metodą również idzie wywołać kilka instrukcji naraz (jakby ktoś był ciekawy, a nie wiedział):
command.com /C "polecenie & polecenie & polecenie & itd"
np (działa tak samo, jak przykładowy plik commands.txt wyżej podany:
command.com /C "dir /w & copy a.txt b.txt & rem ... itd"