J'ai une chaîne contenant le nom de fichier comme ci-dessous des lignes de script batch:script batch tout supprimer après un texte dynamique de la chaîne/nom de fichier
set "file1=name.php_2017_23_08_12_22_07"
set "file2=name.vbs_2016_16_12_12_13_03"
....
Maintenant que vous voyez ci-dessus, la liste des noms de fichiers et leurs extensions est la variété et j'ai besoin d'obtenir les vrais noms de fichiers avec leurs extensions réelles (.php
, .vbs
) respectivement. Alors, quand je passe dans une fonction avec le nom de fichier avec l'extension que je devrais obtenir les noms de fichiers réels comme ci-dessous:
call :restoreFile %file2% ".vbs"
devrait me donner la sortie, en supprimant tout ce qui suit .vbs
dans la %file2%
variable:
name.vbs
Et ainsi de suite pour d'autres variables aussi.
Comment définir une fonction comme celle qui déshabille une dynamique sous-chaîne de chaîne de nom de fichier?
J'ai essayé le code ci-dessous, mais cela ne fonctionne pas avec sous-chaîne dynamique ou texte, qui peut être substitué de la variable:
set targetfile=%file2:.vbs=&rem.%