Lot - Faites quelque chose si le nom de fichier contient une chaîne


0

J'essaie de créer un fichier de commandes pour parcourir tous les fichiers d'un répertoire, en convertissant tous les fichiers sans extension en un fichier CSV.

Je veux ensuite qu'il renomme ces fichiers car ils reçoivent un nom de fichier par défaut. "EDI_ORD_ 1 "

Pour convertir les fichiers au format CSV, j'ai simplement utilisé ceci:

rename *. *.csv

Maintenant, pour boucler tous les fichiers que j'utilise, ceci:

for /r %%i in (*) do (
    echo %%i
)

J'ai essayé d'utiliser find pour rechercher "EDI_ORD" dans chaque fichier, mais cela ne fonctionne pas. Comment puis-je renommer uniquement les fichiers pertinents? Je ne peux plus utiliser la commande renommer car je dois modifier le nom en fonction d'un numéro de compte trouvé dans chaque fichier CSV.


Si vous devez lire cette seconde information à partir d'un fichier supplémentaire, vous devrez imbriquer une seconde fois pour le contenu de ce fichier. Personnellement, je préférerais utiliser PowerShell pour cela car il supporte la commande Import-Csvparmi d'autres.
Seth

1
J'ai essayé d'utiliser find pour rechercher "EDI_ORD" dans chaque fichier, mais cela ne fonctionne pas. Itérer uniquement les fichiers dont vous avez besoin. for /r %%i in (*EDI_ORD*) do
Akina

1
Renommer un fichier en .csv ne le convertfait en aucun cas. Lorsque vous recherchez un fichier, vous devez y filtrerfor /r %%i in (*EDI_ORD*) do (
LotPings
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.