Du kan lagre utdataene fra en EXE -fil til en tekstfil ved å bruke flere metoder, avhengig av hvordan EXE -filen samhandler med systemet. Her er noen vanlige tilnærminger:
1. Omdirigere standardutgang:
* Hvis EXE skriver utdata til standardutgangsstrømmen (stdout):
* Bruk `>` viderekoblingsoperatøren i kommandolinjen:
`` Bash
./my_exe.exe> output.txt
`` `
* Dette vil fange alt skrevet til stdout av EXE og skrive det til `output.txt` -filen.
2. Fanger output med et skript:
* Hvis exe skriver til stdout og du trenger mer kontroll:
* Bruk et skriptspråk som Python eller Bash for å fange utgangen:
`` python
Importer underprosess
prosess =subprocess.popen (['./ my_exe.exe'], stdout =subprocess.pipe)
output, feil =prosess.kommunikat ()
med åpen ('output.txt', 'w') som f:
F.Write (output.Decode ('UTF-8'))
`` `
3. Bruke en loggfil:
* Hvis EXE har et innebygd alternativ for å skrive til en loggfil:
* Endre EXEs konfigurasjon eller kommandolinje-argumenter for å spesifisere en loggfil:
`` Bash
./my_exe.exe -log output.txt
`` `
4. Overvåking med verktøy:
* Hvis du trenger mer avansert overvåking, som å fange feil:
* Bruk verktøy som `tee` (i Linux) eller et loggingsverktøy (i Windows) for å fange utgang i sanntid:
`` Bash
./my_exe.exe | tee output.txt
`` `
5. Endring av EXE:
* Hvis du har tilgang til kildekoden til EXE:
* Endre koden for å skrive utdata direkte til en fil.
Viktige hensyn:
* koding: Forsikre deg om at utgangskodingen er kompatibel med tekstfilen. Du må kanskje spesifisere kodingen når du åpner filen i skriptet.
* Feilhåndtering: Vurder håndteringsfeil som kan oppstå under utførelse av EXE eller skriving til filen.
* Filformat: Hvis EXE produserer utdata som ikke er ren tekst (f.eks. Binære data, bilder), kan det hende du må håndtere det på riktig måte.
eksempel (python med `subprocess`):
`` python
Importer underprosess
erstatt './my_exe.exe' med den faktiske banen til din kjørbare
exe_path ='./my_exe.exe'
Kjør den kjørbare og fanger utgang
prosess =subprocess.popen ([exe_path], stdout =subprocess.pipe)
output, feil =prosess.kommunikat ()
Skriv den fangede utdata til en tekstfil
med åpen ('output.txt', 'w') som f:
F.Write (output.Decode ('UTF-8'))
sjekk om det var noen feil
Hvis feil:
Print ("Feil oppstod:", error.Decode ('UTF-8'))
`` `
Husk å erstatte plassholderne med din faktiske EXE -filsti og ønsket outputfilnavn.