Accueil > QBasic > QBasic – QBasic et le système d’exploitation

QBasic – QBasic et le système d’exploitation

This entry is part 22 of 30 in the series QBasic - Tutoriel
  1. CHDIR
  2. MKDIR
  3. RMDIR
  4. FILES
  5. KILL
  6. NAME
  7. SHELL

QBasic possède de nombreuses fonctions lui permettant d’accéder au fichiers. Il peut ainsi
créer, renommer, effacer, copier, déplacer, rechercher fichiers et répertoires. Il a également la capacité
de pouvoir lancer un programme autre que lui et récupérer la main après son execution.


CHDIR


CHDIR change le répertoire en cours (instruction CD du DOS). C’est à dire que
si plus tard, on donne un nom de fichier sans préciser son chemin (Ex : c2000.txt
au lieu de C:\Compta\c2000.txt), le fichier sera recherché dans le répertoire
précisé par CHDIR.

Par exemple, pour préciser le répertoire C:\Compta comme répertoire en cours, on
écrira :

CHDIR « C:\Compta » ‘ C:\Compta est désormais le répertoire en cours


MKDIR


MKDIR crée un nouveau répertoire ou sous-répertoire (instruction MD du DOS). Si
on essaye de créer un nouveau répertoire alors que celui ci existe déja, une erreur 75
« Erreur de chemin d’accès / d’accès au fichier » se produit.

Pour créer un répertoire C:\Warrior, on écrira :

MKDIR « C:\Warrior » ‘ Création du répertoire C:\Warrior


RMDIR


RMDIR supprime un répertoire ou un sous-répertoire (instruction DELTREE du DOS).
Si on veut supprimer un répertoire ou un sous-répertoire qui lui même contient des fichiers
ou des sous-répertoires, il faut d’abord les supprimer, sinon, une erreur 75 « Erreur de
chemin d’accès / d’accès au fichier » se produit. Pareil pour un répertoire ou un sous-répertoire
inexistant

Pour supprimer le répertoire C:\Warrior, on écrira :

RMDIR « C:\Warrior » ‘ Suppression du répertoire C:\Warrior


FILES


L’instruction FILES permet de rechercher un fichier ou un sous-répertoire (instruction
DIR du DOS). Si on ne spécifie pas de nom de fichier à la suite de FILES, tous les
fichiers du répertoires en cours sont affichés. Si le fichier spécifier reste introuvable, l’
erreur « Fichier non trouvé » apparaît.

Pour afficher tous les fichiers du répertoire en cours, on écrira :

FILES ‘ Affichage de tous les fichiers du répertoire en cours

Pour rechercher le fichier Autoexec.bat, on écrira :

FILES « C:\Autoexec.bat » ‘ Rechercher du fichier C:\Autoexec.bat

Comme pour l’instruction DIR du DOS, on peut inclure des caractères génériques tels que * ou ?.


KILL


L’instruction KILL (instruction DEL du DOS) supprime un ou plusieurs fichiers
d’un disques. On fait tout simplement suivre KILL du nom du fichier à supprimer.

Pour supprimer le fichier Essai.txt, on écrira :

KILL « C:\Essai.txt » ‘ Suppression du fichier C:\Essai.txt

Comme pour l’instruction FILES, KILL accépte les caractères dits génériques. Ainsi, pour
supprimer tous les fichiers dont l’extension est .tmp du répertoire C:\Temp,
on écrira :

KILL « C:\Temp\*.tmp » ‘ Suppression de tous les fichiers *.tmp
‘ du répertoire C:\Temp


NAME


NAME permet de renommer un fichier ou un répertoire. La syntaxe est :

NAME AncienNom$ AS NouveauNom$

Donc, pour renommer le fichier C:\Bonjours.txt en C:\Bonsoir.txt, on
procédera ainsi :

NAME « C:\Bonjours.txt » AS « C:\Bonsoir.txt » ‘ Changement de nom du fichier
‘ Bonjours.txt en Bonsoir.txt


SHELL


L’instruction SHELL suspend l’execution d’un programme pour passer la main au système
d’exploitation (le DOS) ou pour traiter un fichier de commande .BAT. Pour revenir
au programme, il faut tapez EXIT, puis envoi.

SHELL ‘ Donne la main au DOS

On peut aussi spécifier un fichier executable. Mais là, le résultat dépend des paramètres de
votre système (mèmoire).

Series Navigation«QBasic – L’organisation des donnéesQBasic – L’accès aux fichiers»
Categories: QBasic Tags:
  1. ROUGIER
    24/03/2011 à 18:39 | #1

    Mon problème:
    Mon progr. QBASIC « progbaS » contient la commande SHELL (qui me permet d’appeler le fichier batch « progbaT »), suivie de la commande RUN « progbaS ».
    Le fichier batch « progbaT » se termine par la commande EXIT.
    J’atteins bien le fichier batch par SHELL, et il s’exécute correctement.
    Mais lorsqu’il est terminé il revient à l’invite DOS, au lieu de charger et relancer le programme progbaS. Et toute frappe derrière l’invite déclenche le message d’erreur « Programme trop long pour tenir en mémoire » qui oblige à quitter l’invite de commande pour pouvoir la réutiliser.
    Auriez-vous une solution pour une relance directe de progbaS depuis progbaT ?

  1. Pas encore de trackbacks