batch di DOS: ottenere ultima cartella da percorso relativo
-
29-09-2019 - |
Domanda
Ho i seguenti valori in un file batch DOS (ad esempio ...):
..\Apple\Jones
..\Banana\Smith
..\Pear\Wilson
Ho bisogno di estrarre gli ultimi valori del nome ( "Jones", "Smith", "Wilson") da ogni valore. Quello che una tecnica posso usare che sarà sempre mi danno questi valori sottostringa?
Soluzione
In base a questo argomento: Qual è il modo migliore per fare una sottostringa in un file batch?
Vi suggerisco di utilizzare
%~n0
Altri suggerimenti
Ho già scritto una funzione per questo. Si dà qualsiasi percorso e ti restituisce solo esso è il nome del file o il percorso. Opere per qualsiasi percorso: Url, percorso di Windows, Linux percorso, ecc ...
Copia questa funzione alla fine dello script batch: (istruzioni riportate di seguito)
rem ===========================================================================
:Name_From_Path
SetLocal
set _TMP_FOLDERNAME=%1
for %%g in ("%_TMP_FOLDERNAME%") do set _TMP_FOLDERNAME=%%~nxg
EndLocal & set _Name_From_Path=%_TMP_FOLDERNAME%
goto :EOF
rem ===========================================================================
Utilizzo:
CALL :Name_Of_Path ..\Apple\Jones
ECHO %_Name_From_Path%
Risultato: Jones