Copier les commandes du CMD ?

Ockness Messages postés 20 Statut Membre -  
Danelectro Messages postés 1844 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'ai un problème , un gros problème , sur un pc , j'ai Windows , j'ai fait un programme en batch , mon problème , c'est que j'ai un autre ordinateur sous linux , et du coup , même avec Wine , toutes les commandes ne sont pas prises en compte . Du coup , si possible , je voudrai faire que toutes les commandes du CMD se retrouve a coté de mon programme , dans le même répertoire quoi . Vous aurriez une solution a me proposé ? Car quand je copie tout les exe , il met sans cesse qu'il manque un dll ou un fichier ce qui est très chiant . Mais , en même temps , j'ai pas envei de gardé le system32 entier ... Le dossier system32 fait environ 2.5Go , ma clé USB ne fait que 1Go ( Oui , un malheureux petit Go ... ) .

2 réponses

  1. Danelectro Messages postés 1844 Date d'inscription   Statut Membre Dernière intervention   375
     
    Salut,
    Les programmes Windows ne peuvent pas tourner sous Linux. A part avec Wine oui, mais c'est pas stable et comme tu dis y'a des problèmes de dépendances, etc. Surtout que cmd est juste un moyen de lancer d'autres programmes.
    Linux a lui aussi son langage de script, le bash, et il est beaucoup plus puissant que le batch de Windows. Perso je recoderais les scripts en bash.
    Si tu veux montre à quoi ressemble ton script qu'on voit si c'est faisable facilement.
    0
  2. Ockness Messages postés 20 Statut Membre
     
    Voilà le script , il est un peut long ...

    @echo off
    title UXTerm
    set USER=%USERNAME%
    set OSI=%OS%
    set /a NOP=%NUMBER_OF_PROCESSORS%
    @del COM\*.exe
    cls
    goto A

    :A
    Set/p "B= <%USER%@%OSI%>"
    If /I "%B%"=="GET" goto PROG
    If /I "%B%"=="CLEAN" goto CLEAN
    If /I "%B%"=="UPDATE" goto UP
    If /I "%B%"=="LIST" goto LIST
    If /I "%B%"=="INFO_SYSTEM" goto ISYSTEM
    If /I "%B%"=="INFOS_SYSTEM" goto ISYSTEM
    If /I "%B%"=="INFOS" goto ISYSTEM
    If /I "%B%"=="INFO" goto ISYSTEM
    If /I "%B%"=="EXIT" goto END
    goto C

    :END
    del COM\*.exe
    echo. Nettoyage termin' !
    echo. Suppresion des fichiers temporaires ...
    ping localhost -n 10 >nul
    exit

    :LIST
    echo.
    TYPE PGS.txt
    echo.
    echo.
    goto A

    :C
    %B%
    goto A

    :PROG
    echo. Entre le nom du programme !
    set /p PROG=
    If exist COM\%PROG%.exe (
    del COM\%PROG%.EXE
    goto PROGUN
    )
    If not exist COM\%PROG%.exe goto PROGUN

    :PROGUN
    If exist COM\%PROG%.rar goto INS
    If not exist COM\%PROG%.rar goto UN
    goto A

    :INS
    echo. Extraction en cours ...
    @UNRAR e COM\%PROG%.rar COM\
    echo. T'l'chargement effectu' ...
    @start COM\%PROG%.EXE
    echo.
    echo. Utilise aprSs la commande CLEAN pour nettoy' les fichiers inutiles !
    echo.
    goto A

    :UN
    echo. Programme introuvable !
    goto A

    :CLEAN
    If exist COM\*.exe (del COM\*.exe)
    echo. Nettoyage termin' !
    goto A

    :UP
    echo. Mise ... jour en cours ...
    @wget http://WinLux.fr/Windows/UXTerm.UPDATE.rar
    @move UXTerm.rar COM\
    UNRAR e COM\UXTerm.UPDATE.rar COM\
    @rename COM\UXTerm.UPDATE.rar %DATE%.rar
    echo.
    echo. Mise ... jour de la liste des paquets termin'e !
    goto A

    :ISYSTEM
    echo.
    echo. Connect' en tant que : %USERNAME%
    echo. SystSme d'exploitation : %OS%
    echo. Nom de l'ordinateur : %COMPUTERNAME%
    echo.
    echo. Architecture du processeur : %PROCESSOR_ARCHITECTURE%
    echo. D'tails sur le processeur : %PROCESSOR_IDENTIFIER%
    echo. Nombre de core : %NOP%
    echo.
    goto A

    Le :UP jusqu'a goto A en dessous ne marche pas . J'ai un serveur que j'ai acheté exprès seulement , j' arrive pas a le configuré ... C'est pour imité le sudo apt-get install mais sousz windows . Je voudrait que ça tourne sous tous les windows et sous linux :) .
    Sinon , toutes les autres "commandes" et @commandes fonctionnent ! ( Sous win 7 )
    0
    1. Danelectro Messages postés 1844 Date d'inscription   Statut Membre Dernière intervention   375
       
      Voici un lien pour apprendre le bash : http://www.iro.umontreal.ca/~lesagee/bash.html
      Mais si tu veux faire une sorte de gestionnaire de paquets sous Linux, pourquoi ne pas utiliser apt-get install justement ?
      0
      1. Ockness Messages postés 20 Statut Membre > Danelectro Messages postés 1844 Date d'inscription   Statut Membre Dernière intervention  
         
        Je fait souvent des dépanages de pc à domicile , ou les pc n'ont pas internet , ou sinon , je n'ai pas le droit de l'utilisé . Si tu a remarqué , ça utilise unrar pour les extraires . D'ailleur , ça affiche plein de choses a l'écran unrar ... C 'est pas possible de faire que ça n'affiche rien ?
        0
    2. Danelectro Messages postés 1844 Date d'inscription   Statut Membre Dernière intervention   375
       
      Oui c'est possible, comme cela :
      unrar [arguments] > nul

      Et sous Linux :
      unrar [arguments] > /dev/null


      Une remarque : comme les binaires sous Windows ne sont pas les mêmes que sous Linux, il faudra prévoir la version Linux des logiciels dans COM...
      Pourquoi ne pas utiliser les setup.exe sous Windows, et les .deb / .rpm sous Linux ? C'est ce que je fais pour mes dépannages info. J'emmène sur ma clef USB les setups (et les version portables de préférence) des logiciels habituels de dépannage et voilà ^^
      0