CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Scripts sous dos ?

jomeo
jomeo
Niveau 13
08 septembre 2004 à 15:56:06

Bonjour à tous !

Est-il possible de programme un script sous dos effectuant le traitement suivant :

- premièrement
Lire un fichier texte contenant des informations telles que :

"
nom_A1=nom_B2
nom_A2=nom_B2
nom_A3=nom_B3
"
. ..

- Deuxiemment
Pour chaque ligne, regarder s´il existe un fichier nommé nom_A1 et s´il existe le renommer nom_B1

- Dernièrement
Si on a effectuer l´action précédente alors déplacer le fichier nom_B1 vers un autre repertoire.

Je saurais le faire sans aucun problème ( exceptés les eternelles erreurs de compilations incompréhensibles dues à des configurations obscures) en C... Mais d´une part je n´ai pas super envie d´installer un compilateur sur cet ordi et puis j´ai aussi envie d´apprendre à developper sur dos si jamais cela est possible. ( je connais un peu la programmation shell, mais je n´ai jamais rien fait sur windows).

:merci:

dnob700
dnob700
Niveau 10
08 septembre 2004 à 16:37:57

le batch MS-DOS n´est PAS un langage de programmation.

tu peut bien sur faire ce que tu veux sous dos, mais il te faut un autre langage avec son compilo ( djgpp, tc++ qb, etc.)
Esuite, tu peut programmer qqch sur n´importe querl PC, le compilé et puis le mettre sur le PC que tu veux ( s´il ont la ême architecture et le même processeur) donc pas besoin d´installer un compilo sur ton autre PC.

jomeo
jomeo
Niveau 13
08 septembre 2004 à 17:18:53

Bon finalement je vais le faire en c++...

J´ai décidé de lire dans le fichier en utilisant les entrées sorties avec les classes de la famille iostream.h . ..

Jai un truc comme ça pour récuperer des entiers :

fichier > > nb1 > > nb2

Comment je peux faire pour récuperer des chaines de caractères ?

Mon fichier . txt contient :

chaine
chaine2
chaine3

J´ai essayé de faire à l´ancienne char tab[][50]

et fichier > > tab[0] > > tab[1] . .. mais ça merde : il n´y a rien dedans !

dnob700
dnob700
Niveau 10
08 septembre 2004 à 17:20:34

tu lis pareil avec fichier > > Text1 > > Text 2

et dasn ton fichier tu fait :

Nom1 Nom2
Nom3 Nom4

plutot que Nom1=Nom2
etc...

par contre, utilise sois des nom dos court soit des guilemet autour des chane ( mais je ne sais pas si ça marche ne C++)

jomeo
jomeo
Niveau 13
08 septembre 2004 à 17:40:11

jai des problemes de type on dirait...

avec des entier ça marche :

int nb ;

fichier > > nb ;

cout < < nb ;

" 12" ;

Mais avec des chaines de caractères jai essayé :

char ch* = new char[50] ;

fichier < < ch ;
cout < < ch ;

= n´affiche rien

DasHuhn
DasHuhn
Niveau 10
08 septembre 2004 à 18:50:04

Si tu es sous XP, l´instruction for...in ( ) do permet de parcourir des résultats de commandes. Avec " type [fichier]" dans ton script tu pourrais lire toutes les lignes, essayer de séparer les noms du =, etc...

Mais je peux pas t´en dire plus, suis pas sous Win.

DasHuhn
DasHuhn
Niveau 10
08 septembre 2004 à 18:51:59

Oh et au passage, pour quelqu´un qu´a eu son DUT, tu me sembles mal renseigné : pour ce genre d´opérations on utilise des langages de scripts comme Python ou Perl, très prisés sous Unix, mais existant également pour Windows. Ils te permettraient de faire ça en 15 lignes.

jarose
jarose
Niveau 10
08 septembre 2004 à 19:04:58

Qu´est ce qu´on branle en dut ?

jomeo
jomeo
Niveau 13
08 septembre 2004 à 20:57:26

Tu as raison quand tu signales que je suis mal informé... En effet, je n´ai jamais rien développé sur windows et c´est pour ça que je me demandais si cet OS était pourvu d´un langage de script... Malheureusement dos a l´air bien limité, tant pis.

J´ai décidé de faire le programme en C finalement. Je n´ai aucun problème avec l´algorithme, masi c´est plus au sujet de la syntaxe que je galère...

DasHuhn
DasHuhn
Niveau 10
08 septembre 2004 à 21:35:28

Euh j´étais un peu sur les nerfs, d´où la forme, mais c´était plus ironique.

Courageux de le faire en C. Non Windows n´est pas vraiment pourvu d´un langage de script correct. En fait, si : DOS a assez évolué depuis XP, et il y´a les WSH. Mais tous deux sont moins efficaces que les langages que j´ai cité plus haut.

Z´utilisiez quoi en DUT ?

jomeo
jomeo
Niveau 13
08 septembre 2004 à 22:22:31

On developpait toujours ( sauf chez nous :p) sous Unix. En première année on a appris le C++ et le cobol ( plus bases de données, SQL, architechtures des ordis, réseaux)... En fin d´année on a réalisé qq scripts shell ( c´est donc pour ça que je me suis imaginé que sur windows on pouvait faire un utilitaire de ce genre). En seconde année, on apprend le java en quelques mois et puis la programmation web en étudiant le php comme langage dynamique...

Un bon petit programme. En ce qui me concerne, j´ai seulement des lacunes en ce qui concerne windows... Je n´ai jamais rien développé dessus ( à part un site php mais bon) alors questions compilateurs ou logiciels de programmation jsuis pas calé. A l´iut, c´était compilation en mode console et codage sur nedit ( editeur de texte banal)

dnob700
dnob700
Niveau 10
08 septembre 2004 à 22:40:23

wsh c´est le windows scripting host ?

si oui, avec tu peut ( je parle à jomeo) " programmé" ou scripter en VBS ou JS qui sont 2 langages somme toute assez performant pour manipuler des fichiers ou des truc comme ça.
En tout cas, largement suffisent pour ce que tu veux faire, mais ça n´a rien a voir avec DOS.

Pour les utiliser c´esttout simple, tu fait un fichier texte dasn lequel tu mets ton code et tu le renomme en . vbs et c´est bon.

jomeo
jomeo
Niveau 13
08 septembre 2004 à 22:49:00

merci mais maintenant jsuis parti avec mon c++.

J´ai un problème, le fichier contient ça :

salut
hello
ca va

Jaimerai lire trois chaines, mais il en compte 4 ! En effet l´espace de la troisième ligne compte pour un séparateur... Tu vois ce que je peux faire ?

P.S. : je parcours en faisant

while(fic_r.eof())
{
_ _ _ fic_r > > ch ;
_ _ _ . ..
}

dnob700
dnob700
Niveau 10
08 septembre 2004 à 23:28:55

oui, je vois le problème, mais je ne connait pas la réponse ( je ne fait pas d´entrée sortie en c).

Essaye en mettant des guillemet autour de ton texte, c´est comme ça qu´on fait en basic.
Ou peut-être qu´il y a une fonction qui lit une ligne entière ( comme il y en a une autre que cin pour lire toute la ligne ( mais je ne me souviens pas de son nom)).

jomeo
jomeo
Niveau 13
08 septembre 2004 à 23:41:04

cin.getline(destination, nb_char_max, ´\n´) ;

jomeo
jomeo
Niveau 13
09 septembre 2004 à 00:02:12

Nouvelle question :

peut-on renommer un fichier en c++ avec l´objet ifstream ?

J´ai trouvé deux moyens ( pas encore appliqués) :
soit j´utilise la fonction system("") et je fait un REN classique de dos...

soit je crée un fichier vide du nouveau nom en copiant toutes les données octet par octet... Je pense que je ne vais pas opter par la seconde solution.

Il y a peut etre des fonctions liées aux fichiers comme sur linux ( fonction primitives) . ..

jomeo
jomeo
Niveau 13
09 septembre 2004 à 00:58:24

J´ai réussi à faire mon programme en C++... Mon compilateur ne connait apparement pas la classe string et comme je n´ai pas eu envie de la telecharger sur le net je me suis bien galéré ! !

Je l´ai fait car quand on joue sur internet à unreal tournament 2004 sur une map que l´on ne possède pas dans le repertoire UT2004\Maps, le fichier est telechargé dans un repertoire UT2004\Cache et se voit donné un nom unique ( genre de chaine alphanumérique d´une vingtaine de caractères). Le fichier texte cache.ini contient les vrais noms des maps :

" A4565456FFjhggjg654=babydie.ut2" par exemple !

Comme la map ne se trouve pas vraiment dans le repertoire maps, je l´ai telechargée mais je ne peux y jouer tout seul chez moi sans l´avoir renommée et déplacée dans le bon repertoire ! C´est pour ça que j´ai concu ce programme ! !! Juste pour que cela soit fait automatiquement ! !! :)

:oui: je suis un gros feignant... Mais on dit toujours que si l´homme n´avait pas été feignant il n´aurait pas inventé la roue ( ni les fonctions en programmation d´ailleurs :-) ) !

Je mettrai le code source en ligne sur mon site prochainement et vous pourrez me dire comment l´optimiser ( utilisation de la fonction system() pour le renommage et le déplacement des fichiers :-( et puis d´autres traitements codés alors que des fonctions existent peut etre déjà).

Ciao bonne nuit

Yoda_Software
Yoda_Software
Niveau 30
09 septembre 2004 à 01:07:10

J´ai toujours entendu dire que l´informatique avait été inventée par des feignants pour se faciliter la vie.
Mais dans la pratique, et je pense que personne ne me contradira, les programmeurs passent souvent plus de temps à concevoirs des programmes qu´à les utiliser et donc à se faciliter la vie.

gollumkawder
gollumkawder
Niveau 10
09 septembre 2004 à 11:09:48

oué stuveux faire du script faut y aller en python ( http://www.python.org ) c´est simple, ´rapide´ et puissant, pour le Perl je sais po moi aussi j´apprend

yoda :d) ça c´est sûr, et aussi pas mal de temps a debugger des fois... :-)

Yoda_Software
Yoda_Software
Niveau 30
09 septembre 2004 à 14:33:27

Pour moi, le débuggage fait partie de la conception. Et puis ce n´est pas " des fois", mais " souvent" qu´il faut dire ! :ok: :rire:

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment