[BATCH] Variable d'un for et substring
Hello
Je cherche depuis un bon moment déjà comment effectuer un substring dans un fichier batch
Voilà mon code
Code:
1 2 3 4 5
| @echo off
for %%a in (OSPV6_*.txt) do (
echo a = %%a
echo substr = %%a~7,-13%%.txt
) |
Celui ci me renvoie
Code:
1 2 3 4 5 6 7 8 9 10
| a = OSPV6_AAP_20090206.txt
substr = OSPV6_AAP_20090206.txt~7,-13%.txt
a = OSPV6_IMVN_20090206.txt
substr = OSPV6_IMVN_20090206.txt~7,-13%.txt
a = OSPV6_IMVO_20090206.txt
substr = OSPV6_IMVO_20090206.txt~7,-13%.txt
a = OSPV6_PIL1_20090206.txt
substr = OSPV6_PIL1_20090206.txt~7,-13%.txt
a = OSPV6_PIL2_20090206.txt
substr = OSPV6_PIL2_20090206.txt~7,-13%.txt |
J'ai essayé ça
Code:
1 2 3 4 5
| @echo off
for %%a in (OSPV6_*.txt) do (
echo a = %%a
echo substr = %a~7,-13%.txt
) |
mais il me renvoie
Code:
1 2 3 4 5 6 7 8 9 10
| a = OSPV6_AAP_20090206.txt
substr = .txt
a = OSPV6_IMVN_20090206.txt
substr = .txt
a = OSPV6_IMVO_20090206.txt
substr = .txt
a = OSPV6_PIL1_20090206.txt
substr = .txt
a = OSPV6_PIL2_20090206.txt
substr = .txt |
Comment faire pour avoir une substring d'une variable d'une boucle for ?
Merci d'avance
EDIT : Je viens de voir ça
donc j'ai testé
Code:
1 2 3 4 5 6
| @echo off
for %%a in (OSPV6_*.txt) do (
echo a = %%a
set tmpvar=%%a
echo substr = !tmpvar:~7.-13!.txt
) |
mais pas mieux
Re EDIT : J'essaie de comprendre mais j'ai un peu de mal... Je sens que je vais finir par faire un vbs si ca me gonfle trop
J'ai fais ca
Code:
1 2 3 4 5 6 7 8 9 10
| @echo off
for %%a in (OSPV6_*.txt) do (
echo a = %%a
set tmpvar=%%a
if !tmpvar:~7.-13! == AAP echo AAP
if !tmpvar:~7.-13! == IMVN echo IMVN
if !tmpvar:~7.-13! == IMVO echo IMVO
if !tmpvar:~7.-13! == PIL1 echo PIL1
if !tmpvar:~7.-13! == PIL2 echo PIL2
) |
et j'obtiens ca
Code:
1 2 3 4 5
| a = OSPV6_AAP_20090206.txt
a = OSPV6_IMVN_20090206.txt
a = OSPV6_IMVO_20090206.txt
a = OSPV6_PIL1_20090206.txt
a = OSPV6_PIL2_20090206.txt |
donc je n'ai aucun IF valide alors que je devrais en avoir au moins 1 valide à chaque fois