Menu

Commande batch convertie en java [Résolu]

N - 13 nov. 2017 à 10:49 - Dernière réponse : Whismeril 11639 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention
- 16 nov. 2017 à 11:52
Bonjour,


Voila, je souhaiterais convertir des commandes batch en java, par exemple:

SYSTEMINFO

echo

pause<nul

@echo off

title

:main

set mainput=0

chcp 65001 > nul

etc....



sauriez vous comment faire cela SVP ?

merci




Afficher la suite 

Votre réponse

31 réponses

KX 15558 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 23 juin 2018 Dernière intervention - 13 nov. 2017 à 11:23
0
Merci
Bonjour,

Et qu'est-ce que c'est censé faire (pour ceux qui connaissent pas Batch) ?
Whismeril 11639 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention > N - 13 nov. 2017 à 17:32
C'est exactement ce que je te dis. Tu cites C# et bien en C#, tu peux très bien exécuter
tel netstat -an
, ça va ouvrir cmd (donc exécuter cmd.exe) et écrire la commande dedans.
Comme tu n'as pas le droit de lancer cmd, ça ne répondra pas à ton problème.
La bonne démarche est de chercher à quoi sert cette commande, et s'il existe un moyen de le faire en C# sans cmd.

Pour Java, je ne prononcerai pas c'est un langage que je connais très mal.
KX 15558 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 23 juin 2018 Dernière intervention > N - 13 nov. 2017 à 18:18
Ce qu'il serait bien, et pour en revenir aux questions de départ, ce serait de savoir exactement quels résultats tu veux, parce que tu nous cites des "exemples" de commandes, mais ce n'est pas parce que tu sauras faire une commande que tu sauras faire les autres, un "traducteur" universel qui reproduira n'importe quelle commande, tout pareil mais en différent, c'est illusoire...

Après Java, C# ou un autre, de toute façon si c'est des informations système, d'une manière ou d'une autre il faudra interroger le système pour obtenir l'information, alors ce sera peut-être caché derrière un langage de programmation (au travers de DLL par exemple) mais au final ça reste des commandes système.
Bonjour,


ce que je souhaiterais, se serait lancer une commande DOS qui va simplement appleler l'executable DOS

en fait je veux appeler des ccommandes systeme sans ouvrir cmd.exe mais simplement systeminfo.exe par exemple grace à la commande SYSTEMINFO qui ouvrira dirrectemnt le comptenu de systeinfo

esse-possible SVP ?
Bonjour, je vais tenter de poser cette qustion dans le forum du language c#

merci pour votre aide
Whismeril 11639 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention > N - 14 nov. 2017 à 11:05
je vais tenter de poser cette qustion dans le forum du language c#
pour C# je t'ai déjà répondu http://www.commentcamarche.net/forum/affich-34997848-commande-batch-convertie-en-java#9
Commenter la réponse de KX
0
Merci
donc pour taper une commande dos il me suffit de tapper tel systeminfo par exemple pour éxecuter la commande?


si je fais cela, il vas m'ouvrir cmd puis systeminfo.exe ou dirrectement systeminfo dans le script écrit ?

Merci
Oui c'est exactement ce que je pensais mais bon je pensais que vous pourriez m'aider
(en en particulier aux personnes comme vous qui répondaient à mes messages)

Aussi:

"Et puis l'analogie du tractopelle, je l'ai posté 1h avant que tu parles de shell..."

non, j'ai bien vérifier, j'ai poser la question à 15h44 et tu m'a répondu à 16h41...

Cordialement
Whismeril 11639 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention > N - 15 nov. 2017 à 19:22
Ha oui .
Il n'empêche qu'à un moment tu as parlé de telenet, cette commande je sais qu'elle concerne une connexion tcp. Il y'a une classe en C# qui permet de faire du tcp, sans appeler telenet et donc sans cmd.
Il y a fort à parier qu'une telle classe existe aussi en Java.

Et il en va de même pour une bonne partie des commandes batch.
Donc, et pour la dernière fois, arrête de te demande comment exécuter telle ou telle commande dans un autre langage, mais définit à quoi sert le script. Ensuite cherche comment répondre au même besoin dans le langage que tu auras choisi.
KX 15558 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 23 juin 2018 Dernière intervention > Whismeril 11639 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 15 nov. 2017 à 19:50
"Il y a fort à parier qu'une telle classe existe aussi en Java."
Evidemment, mais le programme Java délègue à la JVM qui va elle même déléguer au système d'exploitation. D'une manière ou d'une autre l'I/O c'est l'OS qui gère.
Bonjour

"Il n'empêche qu'à un moment tu as parlé de telenet, cette commande je sais qu'elle concerne une connexion tcp. Il y'a une classe en C# qui permet de faire du tcp, sans appeler telenet et donc sans cmd. "

Pourrais-tu me montrer un exemple de l'utilisation de cette classe STP ?
Whismeril 11639 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 16 nov. 2017 à 11:52
Y’en a plein le net des exemples, il suffit d’en faire l’effort de chercher
https://www.qwant.com/?q=C%23+tcp&t=all

Mais ça n’est pas ça la solution.
Tes scripts sont écrits comme ils le sont car ils sont le reflet de la logique de leur développeur dans le contexte batch avec ses possibilités et ses limitations.
Le même développeur dans le contexte de c# aurait pu avoir une autre logique, car les possibilités et les limitations ne sont pas les mêmes.

Donc définis à quel besoin répond le script, demande toi comment toi, en Java ou en c#, tu répondrais à ce besoin (le script et l’objet sont 2 façons de penser le codage très différentes) et après seulement interroge toi sur les solutions techniques.
Commenter la réponse de N