Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur > Programmation d'OS
Programmation d'OS Programmation de systèmes d'exploitation
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 20/02/2012, 15h14   #1
v_floyd_6
Invité de passage
 
Inscription : mars 2008
Messages : 16
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 16
Points : 3
Points : 3
Par défaut rediriger sortie erreur ms-dos

Bonjour,

Je vous expose mon problème.

Je tourne sous msdos 5.5, le command.com, pas le cmd.exe de windows.
Je souhaite rediriger la sortie d'erreur de ms-dos vers NUL. Seulement ce n'est pas possible avec des commandes toutes faites, des options ou des 2>NUL.
En windows on est d'accord que ça fonctionne très bien, en ms-dos ce n'est pas le cas.
De toute façon j'ai abandonné la piste de résoudre mon problème via des commandes / options spécifiques, ce n'est plus ça qui m'intéresse.

Je cherche donc un moyen via un programme/driver asm, de créer un programme qui une fois chargé en mémoire empèche tous les process s'exécutant après lui d'inscrire quoi que ce soit dans la sortie d'erreur.

Les problèmes :
- je ne sais absoluement pas par où commencer
- je ne crois pas qu'une notion de "sortie d'erreur" existe en ms-dos
- je ne sais pas non plus s'il est possible de la brider
- je ne sais pas si mon problème se résoudra via un programme simple ou un driver

Bref j'ai besoin d'aide

Pour préciser, voila ce que j'appelle "sortie d'erreur"

Exemple :

echo aaaaa >NUL => c'est ok ça n'affiche rien
mkdir a >NUL => si le repertoire a existe deja ça va m'afficher "le repertoire existe deja" meme avec la redirection.
C'est cela que j'aimerais éviter.
mkdir a 2>NUL => il connait pas "2" il me dit trop de parametre.


Merci d'avance.
v_floyd_6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/02/2012, 12h46   #2
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 614
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 614
Points : 11 071
Points : 11 071
Hello,

Il me semble bien à moi aussi que les D.O.S. authentiques ne savaient pas distinguer les deux mais je n'ai jamais été réellement confronté au problème à l'époque et je n'arrive pas à retrouver une page officielle confirmant cet état de fait.

Cela dit, voici une page sur laquelle l'auteur a eu le même problème que toi : il propose un script en Pascal qui date de 1994. En gros, il arrive quand même à distinguer les deux flux au niveau du programme lui-même et, donc, a écrit un petit exécutable qui lance le programme de ton choix et réintercepte ses flux, pour les orienter ensuite vers là où bon te semble :

Voici une http://www.teaser.fr/~amajorel/stderr/

Bon courage.
Obsidian est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2012, 09h35   #3
Forthman
Membre expérimenté
 
Avatar de Forthman
 
Homme François
conception mécanique
Inscription : janvier 2005
Messages : 330
Détails du profil
Informations personnelles :
Nom : Homme François
Âge : 37
Localisation : France, Tarn et Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : conception mécanique
Secteur : Industrie

Informations forums :
Inscription : janvier 2005
Messages : 330
Points : 532
Points : 532
Bonjour,

Alors pour moi 2 possibilités:

- créer un petit programme .COM qui remplace ton .BAT en utilisant les
interruptions DOS comme ça tu gères exactement ce qui doit être affiché.

- créer plusieurs petits programmes .COM pour remplacer les fonctions DOS
qui seront appelés par ton fichier .BAT

à voir su tu as besoin de modifier souvent ton fichier bat actuel, ou si ce dernier
lance un exécutable à la fin (un .COM qui lance un .COM ça bouffe de la RAM)...

a+ François
Forthman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2012, 23h39   #4
v_floyd_6
Invité de passage
 
Inscription : mars 2008
Messages : 16
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 16
Points : 3
Points : 3
Merci a vous deux pour vos réponse.
Je vais tester tout ça.
v_floyd_6 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h47.


 
 
 
 
Partenaires

Hébergement Web