|
F.A.Q.
Vous n'avez pas trouvé réponse à votre question, posez la sur le forum |
MS-DOS ne gère pas les noms comportant plus de 8 caractères, et ceux comportant des espaces.
Solution 1: Les guillemets
cd c:"program files"
Solution 2: Découper le nom
cd c:progra~1
En effet les batchs utilisent les caractères unicode, il faudra donc, pour utiliser les accents ou autres caractères spéciaux, utiliser un logiciel tiers. Edit de windows remplit cette mission, mais Powerbatch sera plus confortable.
Exemple de conversion automatique:
echo €a utilise des caractŠres accentu‚ .
En utilisant le planificateur de tâche Windows, il est accessible via (Démarrer/Tous les programmes/Accessoires/Outils Système/Planificateur de tâches). Ensuite il suffit simplement de préciser le chemin du .bat ainsi que l'horaire et la fréquence d'exécution, puis de valider avec le mot de passe d'un administrateur. Vous pouvez également utiliser la commande dos AT pour programmer l'exécution de vos batchs.
Pour réduire un batch dans la barre des tâches lors de son exécution, il faut crée un raccourci qui pointe vers le batch. Faire un clic droit sur le raccourci, clic sur propriétés, et là dans exécuter sélectionner Réduite .
Pour ne pas afficher les lignes de commandes, il y a deux solutions:
Solution 1: mettre cette ligne en début du batch.
@echo off
Solution 2: placé un @ devant toutes les lignes de commandes.
@echo salut
Pour crée un log, d'un batch il suffit de faire une redirection du résultat de la commande vers un fichier texte.
Exemple:
xcopy c:\temp\*.* c:\temp1 >> c:\log\%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%.txt
Dans un batch il arrive que l'on est à définir une variable dans une boucle for, cependant il est impossible en dos d'affecter une variable dans une boucle for:
Exemple de problème:
for /f %%a in (c:\list.cvs) do (
set var=%%a
echo %var%
)
Solution: Utiliser l'expansion retardée
setlocal enableDelayedExpansion
for /f %%a in (c:\list.cvs) do (
set var=%%a
echo !var!
)
endlocal
Notons qu'avec cette méthode le rappel de la variable ne se fait pas avec des %var% mais avec !var!
Autre solution, faire appel à un autre batch via la commande call est y placer le contenu du DO
Windows intègre déjà un outil pour se connecter à un site ftp, via la commande ftp, ensuite le principe et de créer un fichier de réponse avec les paramètres de connexion.
Exemple:
echo open monftp.fr > ftp.ftp
echo USER nomutilisateur motdepasse >> ftp.ftp
echo cd repertoire >> ftp.ftp
echo mget nomfichier >> ftp.ftp
echo bye >> ftp.ftp
ftp -inv -s:ftp.ftp
Ainsi via se batch on se connecte au ftp, on se déplace dans le répertoire "repertoire" on télécharge le fichier "nomfichier" puis on quitte.
Pour ce faire il suffit de mettre la commande entre simple quote('commande') dans une commande for:
Par exemple si l'on veut recuperer le chemin courant :
for /f %%d in ('chdir') do set chemin=%%d
echo %chemin%
ou bien la date
for /f %%d in ('date /t') do set madate=%%d
echo %madate%
Vous pouvez afficher la date et l\'heure de création dans un fichier, pour cela il faut utiliser le paramètre %~t
Dans un nouveau batch copier coller ceci:
@echo off
for %%a in (\"C:\\test.txt\") do echo %%~ta
pause
Constatez le résultat.
Vous pouvez afficher la taille du fichier ( en octets ) pour cela il faut utiliser le paramètre %~z
Dans un nouveau batch copier coller ceci:
@echo off
for %%a in (\"C:\\test.txt\") do echo %%~za
pause
Constatez le résultat.
Vous pouvez afficher l\'extension d\'un fichier ( en octets ) pour cela il faut utiliser le paramètre %~x
Dans un nouveau batch copier coller ceci:
@echo off
for %%a in (\"C:\\test.txt\") do echo %%~xa
pause
Constatez le résultat.
Vous pouvez afficher a ou les attributs d\'un fichier pour cela il faut utiliser le paramètre %~a
Dans un nouveau batch copier coller ceci:
@echo off
for %%a in (\"C:\\test.txt\") do echo %%~aa
pause
Constatez le résultat.
Pour faire en sorte que votre invite de commande prend toute votre écran (manuellement):
1. Allez dans l'invite de commande
2. Tapez "wmic"
3. Appuyez sur le bouton en haut à gauche : "maximizer" (le bouton du milieu qui permet d'agrandir la fenêtre).
4. Notre astuce est terminée, normalement la fenêtre prend toute votre écran.
Une question, une remarque, n'hésitez pas à visiter le forum |
Haut de page |