[Batch] Chemin d'un dossier à partir d'un fic

Résolu/Fermé
flocoplus Messages postés 104 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 20 septembre 2012 - 20 sept. 2012 à 12:21
flocoplus Messages postés 104 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 20 septembre 2012 - 20 sept. 2012 à 14:12
Bonjour,

J'ai un script Batch qui lit un .csv contenant des chemins de fichiers.
Je souhaiterais récupérer ce chemin mais sans le fichier (le dossier) (Exemple : dans le csv j'ai C:\toto\tata\fic.txt, je veux avoir C:\toto\tata\)

J'ai essayer avec un %~dp mais il ne m'affiche que le premier niveau de dossier (en référence à l'exemple, avec un dp j'ai C:\toto)

Je ne vois pas comment faire.

Voici mon code (en simplifier) :
Les chemins de fichiers sont en deuxième colonne du fichier .csv.
Ces chemins sont des chemins relatif à un dossier %CheminDeBase%
for /f "tokens=1,2,3 delims=;" %%a in (%fichierCSV%) do (
	for /f "usebackq tokens=*" %%I in ("%CheminDeBase%\%%b") do (
		echo chemin : %%~dpI
	)
)



Merci d'avance.

1 réponse

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
20 sept. 2012 à 12:54
hello
%~dp semble correct
C:> for %a in (C:\toto\tata\fic.txt) do @echo %~dpa
C:\toto\tata\

1
flocoplus Messages postés 104 Date d'inscription vendredi 11 janvier 2008 Statut Membre Dernière intervention 20 septembre 2012 28
20 sept. 2012 à 14:12
Merci, ça marche ! Fallait juste pas dire au for que c'était un fichier...

Code final :
for /f "tokens=1,2,3 delims=;" %%a in (%fichierCSV%) do (
	for %%I in ("%CheminDeBase%\%%b") do (
		echo chemin : %%~dpI
	)
)



Encore merci !
0