Hello

Je cherche depuis un bon moment déjà comment effectuer un substring dans un fichier batch

Voilà mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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