2016-04-17 8 views
0

Angenommen, Sie haben einen Dateinamen mit mehr als 2 Punkten, z. B. .symbols.nupkg. Wenn Sie einen Batch-Skript wie diese:Wie die vollständige Dateierweiterung von Dateinamen mit 2 + Punkten in CMD abgerufen werden?

@echo off 
setlocal EnableDelayedExpansion 

echo %~x1 

und Sie es mit der Datei in Frage ausführen, wird es Ihnen gibt nur den .nupkg Teil. Gibt es eine Möglichkeit, die vollständige Dateierweiterung von einer solchen Zeichenfolge abzurufen?

Vielen Dank für Ihre Hilfe!

+2

Per Definition ist die Erweiterung ist der Teil von dem letzten Punkt bis zum Ende der Der Name, also die Erweiterung der Datei, die Sie benannt haben, ist '.nupkg'. Der Rest ist Teil des Dateinamens, nicht die Erweiterung. –

+1

Laut Definition in Windows ist die Dateierweiterung der Teil hinter dem * letzten * Punkt '.'; Wie auch immer, um alles vom ersten '.' zu bekommen, setzen Sie 'FILE =% ~ nx1 '' (extrahieren Sie den vollständigen Dateinamen), dann 'set" FILE =.% FILE: *. =% "' (Variable 'FILE 'wird das Ergebnis halten) ... – aschipfl

Antwort

1

In Windows ist die Dateierweiterung als der Abschnitt aus dem letzten Zeitraum definiert.

Wie auch immer, wenn Sie den Abschnitt von der ersten Zeit extrahieren wollen, können Sie den folgenden Code verwenden:

set "FILE=%~nx1" 
set "FILE=.%FILE:*.=%" 
echo("%FILE%"