.bat recuperer l'heure seulement d'un fichier

fpgpn -  
 fpgpn -
bonjour,

comment en bat puis je récupérer les caractères 12/13 de la premiere ligne affichée par une commande dos (commande dir)?
là Je veux récupérer l'heure du premier fichier
par exemple je veux prendre 05 de la commande (l'heure seule sans les minutes quoi)
dir /p who.dll 

donc de la chaine retournée 05/07/2008 05:00 who.dll

c'est à dire l'équivalent de la commande unix :
variable=$(ls -lrt | tail -1 | cut -c 49-50)


J'ai tanté de faire un
set fic=who.dll
for /f "tokens=1 delims=:~12,2" %a in ('dir /p who.dll | find who.dll') do echo %a

mais s'obtient rien...le dos ne sait pas faire un pipe dans un for ?? pitoyable non ? (alors que ça marche en commande dos simple)
et j'ai tanter pour tester avec un
for /f "tokens=1 delims=:~12,2" %a in ('echo azertyuioqsdfghjkl') do echo %a

mais là carrément il ne m'interprete pas le délimiteur 12,2 ??

à l'aide
merci
A voir également:

2 réponses

fpgpn
 
début de solution mais avec powershell et pas bat :
$heure_fichier=(get-item toto| get-date -uformat "+%H")
0
fpgpn
 
solution à mon cas en power shell
echo off
[int]$heure_actuelle=get-date -uformat "+%H"
if ( ! $heure_actuelle -eq 13 ) { 
    if ( ! $heure_actuelle -eq 17 )
    {
       exit
    }
}
[int]$heure_fichier=(get-item toto| get-date -uformat "+%H")
$ecart=$heure_actuelle-$heure_fichier
switch ($ecart) {
    { $_ -le 2 } {
                  C:\'Program Files'\BBWin\bin\bbwincmd obelix status tlsinfosogeti08 TEST green "TEST VOIR FRANCOIS"                  
                  exit        
                 }

    { $_ -gt 2 }  {
                  C:\'Program Files'\BBWin\bin\bbwincmd obelix status tlsinfosogeti08 TEST red "TEST VOIR FRANCOIS"
                  exit
                 }
    default      {
                  exit
                 }
}

exit

0