Auteur |
Message |
DoozoLab
Batcheur Initié

 Hors ligne
Inscrit le: 10 Oct 2013
Messages: 5
 Niveau en programmation: Niveau en graphisme: Point(s): 13 Moyenne de points: 2,60 Systeme d exploitation: Windows 8
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
Bonjour,
Je cherche à récupérer le chemin complet d'un fichier sélectionné dans l'explorateur.
Je m'explique : J'ai ajouté une nouvelle fonctionnalité dans mon menu contextuel (clique droit sur un fichier). Lorsque je clique dessus je lance un fichier .bat et dans ce fichier je souhaite récupérer le chemin complet du fichier qui a été sélectionné.
J'arrive à récupérer le chemin court avec %~f1 mais pas la chemin complet !! Mon fichier .bat :
@echo %~f1 > "C:\temp\creat_fid.txt"
Merci pour votre aide
|
Jeu 10 Oct 2013 - 10:16 |
|
 |
Publicité
|
 Publicité
|
Jeu 10 Oct 2013 - 10:16 |
|
 |
DiabloBros
Batcheur Avancé

 Hors ligne
Inscrit le: 21 Aoû 2012
Messages: 21
 Niveau en programmation: Niveau en graphisme: Point(s): 45 Moyenne de points: 2,14 Systeme d exploitation: win 7 x64
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
et en utilisant les Variables Environnement , par exemple un simple echo %CD% pourrait t'aider ?
______________________________________________________ DiabloBat FTP Transfert FTP .bat Diablo Mail Tool outils mail .batModif Log on Log Off Seven Diablo Theme Seven Changer
|
Jeu 10 Oct 2013 - 12:08 |
|
 |
DoozoLab
Batcheur Initié

 Hors ligne
Inscrit le: 10 Oct 2013
Messages: 5
 Niveau en programmation: Niveau en graphisme: Point(s): 13 Moyenne de points: 2,60 Systeme d exploitation: Windows 8
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
Effectivement si j'utilise le %CD% j'ai bien le chemin long (prenant en compte les espaces) du répertoire ou se situe le fichier.
Par contre j'ai toujours le même problème pour le nom du fichier. Si il y a des espaces dans le nom du fichier il me retourne CUISIN~1.JPG avec le nom de fichier "Cuisine prix tot.jpg".
J'utilise la variable %~nx1 dans mon .bat. Quelle variable puis-je utiliser afin d'avoir le nom de fichier complet ?
|
Jeu 10 Oct 2013 - 12:30 |
|
 |
sachadee
Modérateur

 En ligne
Inscrit le: 07 Déc 2011
Messages: 1 201
Localisation: Brésil  Logiciels: Notepad Niveau en programmation: Niveau en graphisme: Point(s): 2 887 Moyenne de points: 2,40 Systeme d exploitation: 7,linux,xp
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
Vraiment étrange ton problème. Normalement [ %~f1 ] devrait te retourner le chemin complet et pas en court. M'enfin tu peux toujours essayer une construction de ce type : Code:echo %~d1%~p1%~nx1
______________________________________________________ AffPng.exe , StringBetween.exe , Hex2Png.exe
|
Ven 11 Oct 2013 - 22:11 |
|
 |
temp
Batcheur Super-Master

 Hors ligne
Inscrit le: 10 Juil 2011
Messages: 266
Point(s): 652 Moyenne de points: 2,45 Systeme d exploitation: xt
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
salut,
t'es sûr que c'est pas command.com qui interprete le script. enfin vaut mieux une extension .cmd que .bat
|
Sam 12 Oct 2013 - 01:47 |
|
 |
DoozoLab
Batcheur Initié

 Hors ligne
Inscrit le: 10 Oct 2013
Messages: 5
 Niveau en programmation: Niveau en graphisme: Point(s): 13 Moyenne de points: 2,60 Systeme d exploitation: Windows 8
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
[%~f1] me retourne bien le chemin complet mais dès qu'il y a des espaces ou caractères spéciaux dans le chemin ou le nom de fichier cette variable n'est plus utilisable.
Ex : C:\temp\toto.txt => contenu de la variable %~f1 : "C:\temp\toto.txt" C:\temp 2\toto.txt => contenu de la variable %~f1 : "C:\temp"
|
Dim 13 Oct 2013 - 11:50 |
|
 |
sachadee
Modérateur

 En ligne
Inscrit le: 07 Déc 2011
Messages: 1 201
Localisation: Brésil  Logiciels: Notepad Niveau en programmation: Niveau en graphisme: Point(s): 2 887 Moyenne de points: 2,40 Systeme d exploitation: 7,linux,xp
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
Il faut recuperer le nom du chemin entre des strings Code:tonBat.bat "c:\temp 2\toto.txt"sinon pour l'interprèteur tu as 2 arguments test comme ça pour comprendre : Code:@echo off
echo "%~f1 %2"
______________________________________________________ AffPng.exe , StringBetween.exe , Hex2Png.exe
|
Dim 13 Oct 2013 - 20:18 |
|
 |
DoozoLab
Batcheur Initié

 Hors ligne
Inscrit le: 10 Oct 2013
Messages: 5
 Niveau en programmation: Niveau en graphisme: Point(s): 13 Moyenne de points: 2,60 Systeme d exploitation: Windows 8
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
Ne fonctionne pas. Je rappelle que je veux récupérer le chemin complet du fichier sur lequel on a effectué le clic droit. Si il y a des espaces dans le nom de fichier je ne récupère pas le nom complet.
Ex : la personne clic droit sur ce fichier c:\temp\exemple bis\toto bis.txt je ne récupère que c:\temp\exemple bis\toto
Contenu de mon fichier.bat : echo %cd%\%~nx1
|
Lun 14 Oct 2013 - 12:39 |
|
 |
DiabloBros
Batcheur Avancé

 Hors ligne
Inscrit le: 21 Aoû 2012
Messages: 21
 Niveau en programmation: Niveau en graphisme: Point(s): 45 Moyenne de points: 2,14 Systeme d exploitation: win 7 x64
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
moi je suis peu etre un vieux con mais pour palier au probleme , j'écrirais le nom du fichier dans un fichier temp , genre temp.bat , puis tu le rapelle sous sous un nom de variable avac un CALL temp.bat & Echo %Temp% ... ca marche pas une manipe du genre ?
______________________________________________________ DiabloBat FTP Transfert FTP .bat Diablo Mail Tool outils mail .batModif Log on Log Off Seven Diablo Theme Seven Changer
|
Lun 14 Oct 2013 - 12:43 |
|
 |
temp
Batcheur Super-Master

 Hors ligne
Inscrit le: 10 Juil 2011
Messages: 266
Point(s): 652 Moyenne de points: 2,45 Systeme d exploitation: xt
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
Non, mais déjà est-ce que tu as essayé en renommant ton .bat en .cmd ? Ensuite, ton "clique droit" est-ce que c'est le menu "envoyer vers" ou une commande "Shell extension", dans ce dernier cas il faut vérifier la donnée correspondante dans la base de registre et s'assurer qu'elle est correctement formatée.
|
Lun 14 Oct 2013 - 14:39 |
|
 |
sachadee
Modérateur

 En ligne
Inscrit le: 07 Déc 2011
Messages: 1 201
Localisation: Brésil  Logiciels: Notepad Niveau en programmation: Niveau en graphisme: Point(s): 2 887 Moyenne de points: 2,40 Systeme d exploitation: 7,linux,xp
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
Em fait ton problème n'est pas dans le bat, mais dans la récuperation de la valeur. Ton fichier est déjà coupé à la sélection dans l'explorateur. Montre-nous ton code pour que l'on puisse chercher une solution sans tourner en rond...
______________________________________________________ AffPng.exe , StringBetween.exe , Hex2Png.exe
|
Lun 14 Oct 2013 - 14:47 |
|
 |
DoozoLab
Batcheur Initié

 Hors ligne
Inscrit le: 10 Oct 2013
Messages: 5
 Niveau en programmation: Niveau en graphisme: Point(s): 13 Moyenne de points: 2,60 Systeme d exploitation: Windows 8
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
Grâce à vos remarques, je viens de trouver le problème qui n'était pas dans mon bat ;-) mais bien dans la récupération de la valeur. Dans mon shell extension il fallait mettre :
"C:\temp\creer_fid.bat" "%1" au lieu de "C:\temp\creer_fid.bat" %1
SUJET RESOLU
Merci à tous !!
|
Lun 14 Oct 2013 - 15:05 |
|
 |
Contenu Sponsorisé
|
 Chemin complet d'un fichier sélectionné dans l'explorateur
|
Aujourd’hui à 19:14 |
|
 |
|