[batch] extraire une partie d'un chemin
s7even
Messages postés
4
Statut
Membre
-
s7even Messages postés 4 Statut Membre -
s7even Messages postés 4 Statut Membre -
Bonjour,
j'ai un fichier txt comprennant une liste de fichier avec leur chemin absolu que j'ai créé comme ca :
mes chemins sont du style :
j'amerais transformer les chemins dans mon fichier en :
dans mon exemple "Travail" est une référence pour découper mes chemins
j'ai essayé avec un set mais je m'en sors pas
SVP ne me renvoyez pas vers d'autres sujet je les ai déjà lu et je n'ai pas avancé
merci d'avance
j'ai un fichier txt comprennant une liste de fichier avec leur chemin absolu que j'ai créé comme ca :
dir /b /s "rep" > list.txt
mes chemins sont du style :
C:\Mes Docs\blabla\Travail\projet1\fichier1.txt C:\save\Travail\projet3\fichierX.txt
j'amerais transformer les chemins dans mon fichier en :
Travail\projet1\fichier1.txt Travail\projet3\fichierX.txt
dans mon exemple "Travail" est une référence pour découper mes chemins
j'ai essayé avec un set mais je m'en sors pas
SVP ne me renvoyez pas vers d'autres sujet je les ai déjà lu et je n'ai pas avancé
merci d'avance
Configuration: Windows 7 Firefox 3.5.5
7 réponses
-
Ok t'es sur quel système d'exploitation ? quelle version ?
-
Je suis sous Win 7 64b mais mon code doit pouvoir tourner a partir de XP
-
hello
seulement en DOS ou avec un outil à télécharger comme sed ?C:> type f1.txt C:\Mes Docs\blabla\Travail\projet1\fichier1.txt C:\save\Travail\projet3\fichierX.txt C:> C:> sed "s/^.*\\Travail/Travail/" f1.txt Travail\projet1\fichier1.txt Travail\projet3\fichierX.txt
https://forums.commentcamarche.net/forum/affich-37620020-sed-introduction-a-sed-part-ii#windows -
Le probleme c'est que ce n'est qu'une petit partie d'un gros code et j'aimerais ne pas avoir a installer de nombreux trucs a chaque fois que j'ai u code peu cooperatif :D
et la dans mon exemple j'ai 2 fichier, mais dans mon code j'en ai plusieurs centaines :s
je vais regarder sed mais je prefererais que ca soit faisable avec cmd
EDIT : j'ai regardé ca serait vraiment trop lourd de l'integrer. Mon code n'est pas destiné qu'a mon ordinateur donc ca devient trop complexe -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
une solution qui ne fonctionne que si il y a un seul T majuscule dans le chemin
C:> type f1.txt C:\Mes Docs\blabla\Travail\projet1\fichier1.txt C:\save\Travail\projet3\fichierX.txt C:> aa Travail\projet1\fichier1.txt Travail\projet3\fichierX.txt C:> type aa.bat @echo off for /f "delims=" %%a in ('type f1.txt') do ( for /f "tokens=1,2 delims=T" %%b in ('echo %%a') do echo T%%c ) -
ou
@echo off setlocal enableDelayedExpansion for /f "delims=" %%a in ('type f1.txt') do ( set c=%%a echo !c:*Travail=Travail! ) -
merci pour tes reponses, j'ai utilisé la deuxieme solution et ca fonctionne