Bonjour,
Petit problème avec mon script.
Je lance un batch Rename.bat afin de renommer un fichier qui comporte des variables.
le fichier est bien renommé sauf que mon script me balance un erreur "fichier introuvable". Au deuxieme lancement le fichier est trouvé et le script se termine correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 @echo off for /f "tokens= 1,2,3,4 delims=/ " %%I in ('date /t') do Set jour=%%I for /f "tokens= 1,2,3,4 delims=/ " %%I in ('date /t') do Set mois=%%J for /f "tokens= 1,2,3,4 delims=/ " %%I in ('date /t') do Set annee=%%K RENAME e:\temp\ENTB*.DAT ENTB000%annee%%mois%%jour%.DAT exit
Quelqu'un a une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Set objShell = CreateObject("Wscript.Shell") objShell.Run("%comspec% /k rename.bat /all") Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso, f Dim st Set fso = CreateObject("Scripting.FileSystemObject") Dim madate madate = Year(Now)&"0"& Month(Now)& Day(Now)& Hour(Now)&Minute(Now)& Second(Now) 'Ouverture et lecture du fichier à modifier Set f = fso.OpenTextFile("e:\temp\ENTB000"&Year(Now)&"0"& Month(Now)& Day(Now)&".DAT", ForReading) Set f2 = fso.CreateTextFile("e:\temp\ENTB000.DAT.tmp") Do While Not f.AtEndOfStream st = f.ReadLine If Right(Left(st,432),5) = "00000" Then f2.WriteLine Left(st,427) & "CBMTZ" & Right(st,Len(st) - 432) Else f2.WriteLine st End If Loop f.Close f2.close fso.deletefile ("e:\temp\ENTB000"&Year(Now)&"0"& Month(Now)& Day(Now)&".DAT") fso.MoveFile "e:\temp\ENTB000.DAT.tmp", "e:\temp\ENTB000"&madate&".DAT"
Partager