Utiliser variable DOS
Résolu
Murlox
-
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18789 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Utiliser variable DOS
- Utiliser chromecast - Guide
- Utiliser iphone comme webcam - Guide
- Utiliser tablette comme deuxieme ecran - Guide
- Comment utiliser utorrent - Télécharger - Téléchargement & Transfert
- Comment utiliser wetransfer - Guide
6 réponses
Bonjour !
La syntaxe correcte serait déjà SET currentpath=cd, sinon cela voudrait dire que CD est déjà une variable.
%..% est la syntaxe de récupération de la valeur de la variable.
Si %cd% était effectivement la chaîne utilisée ( je ne suis pas sûr que ce soit autorisé .. ) il faudrait alors doubler les % dans %currentpath% pour préciser que % est un caractère littéral, et non un code de syntaxe.
Par ailleurs je me demande si COPY est effectivement capable d'écrire ( graver ) sur un CD ?
Essaye d'abord une destination vers le disque dur, pour tester la syntaxe ...
A+
Nyctaclope
La syntaxe correcte serait déjà SET currentpath=cd, sinon cela voudrait dire que CD est déjà une variable.
%..% est la syntaxe de récupération de la valeur de la variable.
Si %cd% était effectivement la chaîne utilisée ( je ne suis pas sûr que ce soit autorisé .. ) il faudrait alors doubler les % dans %currentpath% pour préciser que % est un caractère littéral, et non un code de syntaxe.
Par ailleurs je me demande si COPY est effectivement capable d'écrire ( graver ) sur un CD ?
Essaye d'abord une destination vers le disque dur, pour tester la syntaxe ...
A+
Nyctaclope
@Nyctalope
Ca marche niquel avec
set currentpath=%cd%
copy TOTO.txt "%currentpath%"
Et non je n'essaie pas de graver sur un CD? en fait je voulais que le batch s'éxecute depuis et sur ma clef USB et sur n'importe quel PC, donc contourner le changement de lettre de cette clef.
Merci à vous deux en tout cas ;-)
Ca marche niquel avec
set currentpath=%cd%
copy TOTO.txt "%currentpath%"
Et non je n'essaie pas de graver sur un CD? en fait je voulais que le batch s'éxecute depuis et sur ma clef USB et sur n'importe quel PC, donc contourner le changement de lettre de cette clef.
Merci à vous deux en tout cas ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
il y a d'autres variables automatiquement définies:
help set
%CD% - se développe en la chaîne du répertoire en cours.
%DATE% - se développe en la date actuelle en utilisant le même
format que la commande DATE.
%TIME% - se développe en l'heure en cours en utilisant le même
format que la commande TIME.
%RANDOM% - se développe en un nombre aléatoire compris entre 0 et 32767.
%ERRORLEVEL% - se développe en la valeur en cours de ERRORLEVEL
%CMDEXTVERSION% - se développe en le numéro de version des
extensions du processeur de commande en cours.
%CMDCMDLINE% - se développe en la ligne de commande originale
qui a appelé le processeur de commande.
help set
%CD% - se développe en la chaîne du répertoire en cours.
%DATE% - se développe en la date actuelle en utilisant le même
format que la commande DATE.
%TIME% - se développe en l'heure en cours en utilisant le même
format que la commande TIME.
%RANDOM% - se développe en un nombre aléatoire compris entre 0 et 32767.
%ERRORLEVEL% - se développe en la valeur en cours de ERRORLEVEL
%CMDEXTVERSION% - se développe en le numéro de version des
extensions du processeur de commande en cours.
%CMDCMDLINE% - se développe en la ligne de commande originale
qui a appelé le processeur de commande.
Re !
Eh bien merci de cette info ...
Et notamment je ne connaissais pas %CD% d'où mon erreur ...
J'en étais resté au "vieux" DOS, qui n'avait pas tout cela ...
Par contre je serais ravi que tu m'explique les "" car :
- Copy sait bien reconnaître deux arguments et plus séparés par un espace, sans nécessité de "" ..
- pour moi les guillemets obligeraient à reconnaître %xxxxx% comme une chaîne et non comme une variable ??
Merci d'avance !
A+
Nyctaclope
Eh bien merci de cette info ...
Et notamment je ne connaissais pas %CD% d'où mon erreur ...
J'en étais resté au "vieux" DOS, qui n'avait pas tout cela ...
Par contre je serais ravi que tu m'explique les "" car :
- Copy sait bien reconnaître deux arguments et plus séparés par un espace, sans nécessité de "" ..
- pour moi les guillemets obligeraient à reconnaître %xxxxx% comme une chaîne et non comme une variable ??
Merci d'avance !
A+
Nyctaclope
le problème c'est les espaces dans les chemins ou noms de fichiers, il faut des " pour que la commande DOS ne traite cela que comme un seul argument
$ dir > z
$ echo %cd%
C:\Documents and Settings\Nom Prenom\Mes documents\src
$ copy z %cd%\zz
La syntaxe de la commande est incorrecte.
$ copy z "%cd%\zz"
1 fichier(s) copié(s).
ou bien utiliser les noms courts DOS sans espaces, plus besoins de ":
C:\DOCUME~1\NOM~1\MESDOC~1\src
$ dir > z
$ echo %cd%
C:\Documents and Settings\Nom Prenom\Mes documents\src
$ copy z %cd%\zz
La syntaxe de la commande est incorrecte.
$ copy z "%cd%\zz"
1 fichier(s) copié(s).
ou bien utiliser les noms courts DOS sans espaces, plus besoins de ":
C:\DOCUME~1\NOM~1\MESDOC~1\src