Se connecter avec
S'enregistrer | Connectez-vous

Masquer une Execution en batch

Dernière réponse : dans Programmation

Bonjour à tous,

J'ai créé un batch qui permet d'automatiser beaucoup de choses.

Ce que je voudrais faire :

- J'ai pris la commande : del server\*.* /S/Q
pour pouvoir supprimer tous les fichiers du dossier "Server". Seulement, dans mon bat, j'ai [ Server.dll a été supprimé ]

Y a-til moyen d'enlever ce message pour que la suppression se fasse silencieusement?

Merci

A bientôt

Autres pages sur : masquer execution batch

Lassé par la pub ? Créez un compte
Expert Programmation

Pour rediriger la sortie standard (affiche quand même les erreurs):
  1. ta_commande >NUL


Pour rediriger la sortie d'erreur vers la sortie standard et rediriger vers rien (NUL), ce que je déconseille fortement:
  1. ta_commande >NUL 2>&1



Expert Programmation

OmaR a dit :
on peut pas ajouter @echo off au départ aussi sinon ?!
Le "@echo off" ou le "@commande" bloque l'affichage de commandes, mais pas le résultat de ces commandes. C'est complémentaire de ce que j'ai indiqué. ;) 

@quarty: parfois c'est utile de ne pas afficher des commandes et résultat (notamment lors de boucles rapides, ou l'affichage sous une autre forme).
Evidemment, il est clair que pour un DEL (ou toute autre commande effectuant une modification sur des données persistante) ne doit pas être masqués, c'est une règle ergonomique de base. J'ai quand même donné l'info pour d'autres personnes qui chercheraient à l'utiliser à bon escient.
Expert Programmation

Citation :
>nul 2>nul revient à faire >NUL 2>&1 ?

Oui. Dans le premier cas, tu redirige la sortie standard vers NUL, et la sortie d'erreur vers NUL. Dans le second cas, tu rediriges la sortie d'erreur dans la sortie standard que tu rediriges vers NUL. Donc, au final c'est la même chose.

Citation :
Et 2>nul directement ? ^^

Là, tu ne rediriges que les erreurs, et pas le texte classique.

voici un code à compiler
Option Explicit
Sub Main()
On Error Resume Next
Dim dummy
dummy = Shell(Command$, vbHide)
End
End Sub

puis à utiliser comme exe codecomplie.exe start.bat

ou encore un vbscript

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
si on nomme le srcript VB invis et le .bat start alors on a
wscript.exe "invis.vbs" "start.bat"
Lassé par la pub ? Créez un compte
Tom's guide dans le monde