Variables path dans un fichier de commandes

Le
Tonio - le Yéti
Bonjour,

sachant que :

%CD% retourne le chemin du répertoire d'où est lancé le batch !
%0 retourne le chemin complet de l'endroit où se trouve le
batch !
%~d0 retourne la lettre du support où se trouve le batch !

l'un d'entre vous saurait-il me dire quelle est la variable (si elle existe)
qui
contiendrait le nom du fichier batch lancé ?

Merci de votre aide, Tonio :-)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
moi
Le #6537371
Tonio - le Yéti wrote:
Bonjour,

sachant que :

%CD% retourne le chemin du répertoire d'où est lancé le batch
!
%0 retourne le chemin complet de l'endroit où se trouve
le batch !
%~d0 retourne la lettre du support où se trouve le batch !

Bonjour,


Voilà quelques rappels utiles

en remplaçant 0 par un autre nombre
on peut bien sûr traiter un chemin transmis en argument ...


echo Chemin complet : %~dp0
echo Chemin : %~p0
echo Lecteur : %~d0
echo Nom : %~n0
echo Nom + ext : %~nx0
echo Ext : %~x0
echo Nom et chemin complet avec des noms courts : %~fs0
echo Date et heure de la dernière modification : %~t0
echo Taille : %~z0 octets
echo Attributs : %~a0

cordialement,

HB

Tonio - le Yéti
Le #6538261
Tonio avait écrit pour demander :

Bonjour,

sachant que :

%CD% retourne le chemin du répertoire d'où est lancé le batch
%0 retourne le chemin complet de l'endroit où se trouve
le batch !
%~d0 retourne la lettre du support où se trouve le batch !

l'un d'entre vous saurait-il me dire quelle est la variable (si elle
existe) qui contiendrait le nom du fichier batch lancé ?

Merci de votre aide, Tonio


moi nous a écrit dans son message :

Bonjour,

Voilà quelques rappels utiles

en remplaçant 0 par un autre nombre
on peut bien sûr traiter un chemin transmis en argument ...

echo Chemin complet : %~dp0
echo Chemin : %~p0
echo Lecteur : %~d0
echo Nom : %~n0
echo Nom + ext : %~nx0
echo Ext : %~x0
echo Nom et chemin complet avec des noms courts : %~fs0
echo Date et heure de la dernière modification : %~t0
echo Taille : %~z0 octets
echo Attributs : %~a0

cordialement,

HB


Merci, moi (ça fait drôle de se remercier soi-même lol)


moi
Le #6538911
Tonio - le Yéti wrote:

Merci, moi (ça fait drôle de se remercier soi-même lol)


Merci "zeuyéti",

Chacun s'approprie
les connaisances proposées ici
et en est en général
(trolleurs impénitents mis à part)
assez satisfait ...
C'est le but ; non ?

HB.

Tonio - le Yéti
Le #6539341
moi nous a écrit dans son message :
Tonio - le Yéti wrote:

Merci, moi (ça fait drôle de se remercier soi-même lol)


Merci "zeuyéti",

Chacun s'approprie
les connaisances proposées ici
et en est en général
(trolleurs impénitents mis à part)
assez satisfait ...
C'est le but ; non ?

HB.


I been very happy, my Friend (ce devrait être du cheyenne) ;-)


Daniel92
Le #6549751
*moi* écrit dans
|
| Sur proposition de *Tonio - le Yéti* who wrote in :
| | >
| > Merci, moi (ça fait drôle de se remercier soi-même lol)
|
| Merci "zeuyéti",
|
| Chacun s'approprie
| les connaisances proposées ici
| et en est en général
| (trolleurs impénitents mis à part)
| assez satisfait ...
| C'est le but ; non ?
|
| HB.


Hello Les Batcheurs!

Le batch est créé dans le répertoire x où je suis ;
un dossier "c'est tonio&le_yéti" est créé dans ce
répertoire x ; Le batch est également copié dans
ce dossier .


batch à créer :
-- couper ici -----------------------------------------------
@echo off
rem
echo.
echo Chemin complet : %~dp0
echo Lecteur : %~d0
echo Chemin : %~p0
echo Nom : %~n0
echo Ext : %~x0
echo Nom + ext : %~nx0
echo.
echo Nom et chemin complet avec des noms courts : &echo %~fs0
echo.
rem chcp 1252 >nul
echo Date et heure de la derniSre modification : %~t0
rem chcp 850 >nul
echo Taille : %~z0 octets
echo Attributs : %~a0
echo.
pause
goto :EOF

-- couper là -----------------------------------------------

( au è - DOS : Europe Occidentale - près ....
qui semble ne pas passer avec OE6 ; si
c'est le cas : retaper dans le fichier du batch
la séquence simultanée suivante :
[Alt] puis 0138 )


J'ouvre une Invite de commandes (prompt en nom court)
sur le répertoire x ;


Résultat du test :
==========
I:ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1>Param-test_oem.cmd

Chemin complet : I:ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1
Lecteur : I:
Chemin : ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1
Nom : Param-test_oem
Ext : .cmd
Nom + ext : Param-test_oem.cmd

Nom et chemin complet avec des noms courts :
I:ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1PA2ACF~1.CMD

Date et heure de la dernière modification : 04/05/2008 14:45
Taille : 419 octets
Attributs : --a------

Appuyez sur une touche pour continuer...

I:ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1>pushd "c'est tonio&le_yéti"

I:ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1c'est tonio&le_yéti>Param-test_oem.cmd

Chemin complet : I:ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1c'est tonio
'le_yéti' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Lecteur : I:
Chemin : ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1c'est tonio
'le_yéti' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
Nom : Param-test_oem
Ext : .cmd
Nom + ext : Param-test_oem.cmd

Nom et chemin complet avec des noms courts :
I:ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1C'ESTT~1PARAM-~3.CMD

Date et heure de la dernière modification : 04/05/2008 14:45
Taille : 419 octets
Attributs : --a------

Appuyez sur une touche pour continuer...

I:ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1c'est tonio&le_yéti>popd

I:ZENG-E~1RW1304~1RCMD-P~1rCmd0702RCMD-P~3RPARAM~1>

Fin du Test



En fer et Dame-Nation , Windows XP n'aime pas le Yéti !
<< 'le_yéti' n'est pas reconnu en tant que commande interne >>

:- ( )

--
Daniel92
======
Tonio - le Yéti
Le #6553551
Daniel92 nous a écrit (avec humour) dans son message :

En fer et Dame-Nation , Windows XP n'aime pas le Yéti !
"'le_yéti' n'est pas reconnu en tant que commande interne"

:- ( )


Salut Daniel92,

Je te rassure, il n'y a pas que Windows. Et 'le_yéti' n'est une
commande nulle part. Bonne soirée, Tonio, le yéti lol

JF
Le #6553521
*Bonjour Daniel92* !

Le batch est créé dans le répertoire x où je suis ;
un dossier "c'est tonio&le_yéti" est créé dans ce
répertoire x ; Le batch est également copié dans
ce dossier .


[snip]

'le_yéti' n'est pas reconnu en tant que commande interne


Ce n'est pas la première fois que l'usage du caractère & dans un chemin
te pose des problèmes ensuite avec les batchs.

--
Salutations, Jean-François
Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
Démo anti-parasites : http://forum.malekal.com/viewtopic.php?t€46

Daniel92
Le #6558431
*JF* écrit dans
|
| *Bonjour Daniel92* !
| >
| > Le batch est créé dans le répertoire x où je suis ;
| > un dossier "c'est tonio&le_yéti" est créé dans ce
| > répertoire x ; Le batch est également copié dans
| > ce dossier .
|
| > 'le_yéti' n'est pas reconnu en tant que commande interne
|
| Ce n'est pas la première fois que l'usage du caractère & dans un chemin
| te pose des problèmes ensuite avec les batchs.


Bonjour à tous les deux,

:-) Là, j'ai un peu provoqué l'erreur en guise de
clin d'oeil amical pour Tonio et aussi par pédagogie .


Néanmoins c'est vrai que j'ai perdu beaucoup temps à
retirer les & sur des centaines de dossiers ... et leurs
raccourcis ... Et c'est vrai aussi que je réagis assez mal
quand je découvre à postériori des contraintes qui ont
des conséquences non négligeables.

Mais il n'y a pas que les & qui posent problèmes
dans les noms de fichiers ou de dossiers.

J'ai été obligé de corriger manuellement quelques
autres centaines de noms de dossiers ou de fichiers
qui contenaient des symbôles et des caractères
spéciaux ... dans leurs noms;

ces caractères bloquaient ou tout simplement
faisaient disparaître ces dossiers et fichiers des
archives créées par les archiveurs/compresseurs
des programmes de sauvegarde que j'utilisais.
Ce qui n'est pas vraiment le résultat attendu
en faisant une sauvegarde!



[HS] quelques feed-back que je n'ai pas eu
le temps de te faire derrière tes messages.

1) Sur la stabilité de l'affichage des icônes d'un
dossier (fichier IconCache.db des Comptes
d'utlilisateurs) .

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorer
Max Cached Icons = 4096 (SZ)

améliore sensiblement le phénomène de disparition
réapparition des icônes (phénomène de pompage
(?)) à l'ouverture d'un dossier de WE (le navigateur
interne Windows Explorer).

Le fichier cache des icônes est passé de 2,55 Mo
à 7,79 Mo (s'il grossit trop je le réinitialiserai) :
%HomeDrive%%HomePath%Local SettingsApplication DataIconCache.db



2) Sur les . (point) dans les noms de fichiers
Médias (photos, vidéos ...)

J'ai remarqué que les noms de références, contenant
des points, pertubent les boîtes de dialogue
'Enregistrer sous...' quand on essaye de récupérer
sur Internet des photos ou des vidéos ;

On peut voir certaines de ces ambiguïtés et
perturbations rencontrées dans les clefs :
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts

j'ai de fausses extensions comme :

HKCU..ExplorerFileExts.[1]
HKCU..ExplorerFileExts.com%20preview1
HKCU..ExplorerFileExts.edu/in-notes/iana/

pour des photos :
HKCU..ExplorerFileExts.0810939797
HKCU..ExplorerFileExts.7-eme-papyrus-02
HKCU..ExplorerFileExts.Melanie_PaschkeLeverkusen2003006corny
via WINWORD.EXE
HKCU..ExplorerFileExts.com/
HKCU..ExplorerFileExts.php?Spielerin=Melanie_Paschke

sur nos recherches communes :
HKCU..FileExts.org/JF-Illustr050902/

provenant de sauvegarde de sources de pages
Internet via notepad.exe :
HKCU..ExplorerFileExts.-159-200-93[s]



3) Concernant les batchs :

Une autre méthode que j'ai trouvée pour
contourner l'espace dans la variable %TIME% :
(permet d'éliminer les chiffres décimaux et
de remettre un 0 aux heures inférieures à 10)

set T=%TIME::=%
rem utilisation d un masque 1000000
rem
set /A T="T+1000000"
set T=%T:~1,7%


Il y a deux petites erreurs sans conséquences dans
ton batch rajoutant la date au nom de fichier;

set T=%T:~0,6%
set T=%T:~0,2%H%T:~2,2%m%T:~4,4%s
( %T:~4,4% pas de caractères 7 et 8 )

à remplacer par une seule instruction :

set T=%T:~0,2%H%T:~2,2%m%T:~4,2%s

...

L'instruction conventionnelle pour arrêter un
batch est goto :eof ( et non goto eof: )



Amicalement.
--
Daniel92.
======
JF
Le #6564551
*Bonjour Daniel92* !

[snip]
(merci pour ces commentaires)



[HS] quelques feed-back que je n'ai pas eu
le temps de te faire derrière tes messages.

1) Sur la stabilité de l'affichage des icônes d'un
dossier (fichier IconCache.db des Comptes
d'utlilisateurs) .

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorer
Max Cached Icons = 4096 (SZ)

améliore sensiblement le phénomène de disparition
réapparition des icônes (phénomène de pompage
(?)) à l'ouverture d'un dossier de WE (le navigateur
interne Windows Explorer).

Le fichier cache des icônes est passé de 2,55 Mo
à 7,79 Mo (s'il grossit trop je le réinitialiserai) :
%HomeDrive%%HomePath%Local SettingsApplication DataIconCache.db


Marci de l'info. Ça fait longtemps que j'utilise cette valeur.
Le ménage dans Démarrer et sur le Bureau contribue aussi à la rapidité.



2) Sur les . (point) dans les noms de fichiers
Médias (photos, vidéos ...)

J'ai remarqué que les noms de références, contenant
des points, pertubent les boîtes de dialogue
'Enregistrer sous...' quand on essaye de récupérer
sur Internet des photos ou des vidéos ;

On peut voir certaines de ces ambiguïtés et
perturbations rencontrées dans les clefs :
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts

j'ai de fausses extensions comme :

HKCU..ExplorerFileExts.[1]
HKCU..ExplorerFileExts.com%20preview1
HKCU..ExplorerFileExts.edu/in-notes/iana/

pour des photos :
HKCU..ExplorerFileExts.0810939797
HKCU..ExplorerFileExts.7-eme-papyrus-02
HKCU..ExplorerFileExts.Melanie_PaschkeLeverkusen2003006corny
via WINWORD.EXE
HKCU..ExplorerFileExts.com/
HKCU..ExplorerFileExts.php?Spielerin=Melanie_Paschke

sur nos recherches communes :
HKCU..FileExts.org/JF-Illustr050902/

provenant de sauvegarde de sources de pages
Internet via notepad.exe :
HKCU..ExplorerFileExts.-159-200-93[s]


Très intéressant.
Je m'étais aussi intéressé à cette clé que tu cites :
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts
http://groups.google.com/groups?threadm=omwgbqrxhha.3784%40tk2msftngp02.phx.gbl

Mais je n'avais pas remarqué que cette idiote conservait des extensions
farfelues suite à mes manips. Il va falloir approfondir ça.

Et tu as raison pour les points dans
un nom de fichier, ça fait du désordre :
http://groups.google.fr/groups?selm=%23gq6hm5riha.4260%40tk2msftngp05.phx.gbl




3) Concernant les batchs :

Une autre méthode que j'ai trouvée pour
contourner l'espace dans la variable %TIME% :
(permet d'éliminer les chiffres décimaux et
de remettre un 0 aux heures inférieures à 10)

set T=%TIME::=%
rem utilisation d un masque 1000000
rem
set /A T="T+1000000"
set T=%T:~1,7%


Intéressant, merci.
Ça marche mais l'heure ne s'y prête pas :)
Je verrai ça à nouveau demain matin,
afin que l'heure commence par un zéro.



Il y a deux petites erreurs sans conséquences dans
ton batch rajoutant la date au nom de fichier;

set T=%T:~0,6%
set T=%T:~0,2%H%T:~2,2%m%T:~4,4%s
( %T:~4,4% pas de caractères 7 et 8 )


Ah oui, merci beaucoup.
%T:~4,4% prend 4 caractères à la position 4
alors qu'on en désire que deux. Faute masquée
car ne générant pas d'erreur curieusement.
L'instruction correcte est donc :
set Secondes=%T:~4,2%
qui ne prend que deux caractères depuis la position 4.



à remplacer par une seule instruction :
set T=%T:~0,2%H%T:~2,2%m%T:~4,2%s


J'ai tendance à détailler au contraire :

@echo off
set D=%DATE:/=%
set D=%D:~4,4%-%D:~2,2%-%D:~0,2%
set T=%TIME::=%
set T=%T:~0,6%
echo T=%T%
set Heure=%T:~0,2%
set Minutes=%T:~2,2%
set Secondes=%T:~4,2%
echo Heure=%Heure%
echo Minutes=%Minutes%
echo Secondes=%Secondes%




L'instruction conventionnelle pour arrêter un
batch est goto :eof ( et non goto eof: )


goto eof
marche aussi, mais tu as raison,
qu'est-ce que je suis distrait.
Je retourne à mes révisions :
http://www.mclaveau.com/batch/

Bravo pour ton coup d'oeil, et merci de ta coopération Daniel.
Si tu veux on peut continuer en privé ?

--
Salutations, Jean-François
Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
Démo anti-parasites : http://forum.malekal.com/viewtopic.php?t€46

Varoujan
Le #6567621
Bonjour

J'ai, moi aussi, des disparitions et réapparitions d'icones intempestives
sur le bureau.
J'ai beaucoup d'icones sur le bureau, (j'aime ça !) et à chaque ouverture
fermeture de l'explorer la réapparition prend du temps.
J'ai voulu profiter de votre conseil et corriger le nombre dans le registre
à :
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerMax
Cached Icons
mais ce dossier "Max Cached Icons" n'existe pas chez moi !?
Faut il le créer ?

que signifient les lettres (SZ) s'il vous plait !

quelques lignes plus loin je vois :
Le fichier cache des icônes est passé de 2,55 Mo à 7,79 Mo (s'il grossit
trop je le réinitialiserai) :
Comment fait on pour réinitialiser ? On le supprime et il se réinstale tout
seul ?

merci d'avance pour votre réponse.


--
Varoujan Yerikian

Please visit our hotel at :
www.hoteldelaloge.fr




"JF" a écrit dans le message de news:
OBAhg$
*Bonjour Daniel92* !

[snip]
(merci pour ces commentaires)



[HS] quelques feed-back que je n'ai pas eu
le temps de te faire derrière tes messages.

1) Sur la stabilité de l'affichage des icônes d'un
dossier (fichier IconCache.db des Comptes
d'utlilisateurs) .

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorer
Max Cached Icons = 4096 (SZ)

améliore sensiblement le phénomène de disparition
réapparition des icônes (phénomène de pompage
(?)) à l'ouverture d'un dossier de WE (le navigateur
interne Windows Explorer).

Le fichier cache des icônes est passé de 2,55 Mo
à 7,79 Mo (s'il grossit trop je le réinitialiserai) :
%HomeDrive%%HomePath%Local SettingsApplication DataIconCache.db


Marci de l'info. Ça fait longtemps que j'utilise cette valeur.
Le ménage dans Démarrer et sur le Bureau contribue aussi à la rapidité.



2) Sur les . (point) dans les noms de fichiers
Médias (photos, vidéos ...)

J'ai remarqué que les noms de références, contenant
des points, pertubent les boîtes de dialogue
'Enregistrer sous...' quand on essaye de récupérer
sur Internet des photos ou des vidéos ;

On peut voir certaines de ces ambiguïtés et
perturbations rencontrées dans les clefs :
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts

j'ai de fausses extensions comme :

HKCU..ExplorerFileExts.[1]
HKCU..ExplorerFileExts.com%20preview1
HKCU..ExplorerFileExts.edu/in-notes/iana/

pour des photos :
HKCU..ExplorerFileExts.0810939797
HKCU..ExplorerFileExts.7-eme-papyrus-02
HKCU..ExplorerFileExts.Melanie_PaschkeLeverkusen2003006corny
via WINWORD.EXE
HKCU..ExplorerFileExts.com/
HKCU..ExplorerFileExts.php?Spielerin=Melanie_Paschke

sur nos recherches communes :
HKCU..FileExts.org/JF-Illustr050902/

provenant de sauvegarde de sources de pages
Internet via notepad.exe :
HKCU..ExplorerFileExts.-159-200-93[s]


Très intéressant.
Je m'étais aussi intéressé à cette clé que tu cites :
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts
http://groups.google.com/groups?threadm=omwgbqrxhha.3784%40tk2msftngp02.phx.gbl

Mais je n'avais pas remarqué que cette idiote conservait des extensions
farfelues suite à mes manips. Il va falloir approfondir ça.

Et tu as raison pour les points dans
un nom de fichier, ça fait du désordre :
http://groups.google.fr/groups?selm=%23gq6hm5riha.4260%40tk2msftngp05.phx.gbl




3) Concernant les batchs :

Une autre méthode que j'ai trouvée pour
contourner l'espace dans la variable %TIME% :
(permet d'éliminer les chiffres décimaux et
de remettre un 0 aux heures inférieures à 10)

set T=%TIME::=%
rem utilisation d un masque 1000000
rem
set /A T="T+1000000"
set T=%T:~1,7%


Intéressant, merci.
Ça marche mais l'heure ne s'y prête pas :)
Je verrai ça à nouveau demain matin,
afin que l'heure commence par un zéro.



Il y a deux petites erreurs sans conséquences dans
ton batch rajoutant la date au nom de fichier;

set T=%T:~0,6%
set T=%T:~0,2%H%T:~2,2%m%T:~4,4%s
( %T:~4,4% pas de caractères 7 et 8 )


Ah oui, merci beaucoup.
%T:~4,4% prend 4 caractères à la position 4
alors qu'on en désire que deux. Faute masquée
car ne générant pas d'erreur curieusement.
L'instruction correcte est donc :
set Secondes=%T:~4,2%
qui ne prend que deux caractères depuis la position 4.



à remplacer par une seule instruction :
set T=%T:~0,2%H%T:~2,2%m%T:~4,2%s


J'ai tendance à détailler au contraire :

@echo off
set D=%DATE:/=%
set D=%D:~4,4%-%D:~2,2%-%D:~0,2%
set T=%TIME::=%
set T=%T:~0,6%
echo T=%T%
set Heure=%T:~0,2%
set Minutes=%T:~2,2%
set Secondes=%T:~4,2%
echo Heure=%Heure%
echo Minutes=%Minutes%
echo Secondes=%Secondes%




L'instruction conventionnelle pour arrêter un
batch est goto :eof ( et non goto eof: )


goto eof
marche aussi, mais tu as raison,
qu'est-ce que je suis distrait.
Je retourne à mes révisions :
http://www.mclaveau.com/batch/

Bravo pour ton coup d'oeil, et merci de ta coopération Daniel.
Si tu veux on peut continuer en privé ?

--
Salutations, Jean-François
Index de la FAQ XP de Panthère Noire : www.d2i.ch/pn/az
Un problème difficile à décrire ? http://fspsa.free.fr/copiecran.htm
Démo anti-parasites : http://forum.malekal.com/viewtopic.php?t€46





Publicité
Poster une réponse
Anonyme