Bonjour,
Je cherche à faire un petit script pour automatiser l’algorithme suivant :
- Récupérer une entrée utilisateur de format +12+345 (les + étant interchangeables avec des - puisqu’il s’agit de coordonnées latitude/longitude).
- Chercher ces coordonnées entrées dans deux dossiers spécifiques et tous leurs sous-dossiers, le format de fichier étant .dsf et les deux sous-dossiers commençant par zzz_
- Si elles n’existent pas dans ces sous-dossiers, aller les chercher dans un troisième dossier et tous les sous-dossiers de celui-ci.
- Une fois trouvées, copier le fichier correspondant dans un autre dossier pour y être traité avec la suite du script qui existe déjà et qui fonctionne.
Voilà où j’en suis, sachant que ce code ne fonctionne qu’à partir de :loop2.
Après l’entrée des coordonnées, la console renvoie : "Le chemin d’accès spécifié est introuvable" et "else n’est pas reconnu comme une commande interne".
Code Batch : 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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 @echo off set fileC= set fileG= :loop1 set /p tile="Enter coordinates: " for /f "delims=" %%f in ('dir /b/s "D:\X Plane 11\Custom Scenery"\zzz_*.dsf') do ( if %%f == %tile%.dsf do ( xcopy %%f D:\XPtools\tools) else for /f "delims=" %%f in ('dir /b/s "D:\X Plane 11\Global Scenery\X-Plane 11 Global Scenery"') do ( if %fileG%.dsf == %tile%.dsf do ( xcopy %%f D:\XPtools\tools) ) pause set /p choice="Find another tile (Y/N)?" if choice==Y (goto :loop1) else goto :follow :follow rem archive renaming ren *.dsf *.7z rem archive extraction 7z e *.7z rem archive deletion del *.7z :loop2 if exist *.dsf (goto :process) else goto :end :process rem gets filename for %%a in (*.dsf) do set fileName=%%~na rem send to DSFTool start "DSFTool" /B /wait D:\XPTools\tools\DSFTool.exe --dsf2text "%fileName%.dsf" "%fileName%.txt" rem cleanup del %fileName%.dsf *.txt *txt.sea_level.raw rem move files to the right place move /Y D:\XPTools\tools\*.txt.elevation.raw D:\XPTools\Processed\ goto :loop2 :end echo Done.
Merci pour votre aide.
Partager