Forum: PC-Programmierung dos batch teil eines variablen-strings?


von dos (Gast)


Lesenswert?

in einer dos batch schleife z.b.:

for %%f in (*.ext) do copy %%f %%f.XYZ


%%f enthält ja den gesamten dateinamen - wie kann man die endung 
entfernen und durch eine andere ersetzen?

danke!

von Peter (Gast)


Lesenswert?

help for

Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen 
erweitert.
Sie können jetzt folgende Syntax verwenden:

    %~I         - Expandiert %I und entfernt alle umschließenden
                  Anführungszeichen (").
    %~fI        - Expandiert %I zu einem vollständigen Dateinamen.
    %~dI        - Erzeugt nur den Laufwerkbuchstaben von %I.
    %~pI        - Erzeugt nur den Pfad von %I.
    %~nI        - Erzeugt nur den Dateinamen von %I.
    %~xI        - Erzeugt nur die Dateierweiterung von %I.
    %~sI        - Erzeugter Pfad enthält nur kurze Dateinamen.
    %~aI        - Erzeugt die Dateiattribute von %I.
    %~tI        - Erzeugt Datum und Zeit von %I.
    %~zI        - Erzeugt die Dateigröße von %I.
    %~$PATH:I   - Durchsucht die in der PATH-Umgebungsvariablen
                  angegebenen Verzeichnisse und expandiert die erste
                  gefundene Datei %I zu dem vollständigen Dateinamen.
                  Wenn der Name der Umgebungsvariablen nicht definiert
                  ist oder diese Datei bei der Suche nicht gefunden 
wurde,
                  wird dieser Parameter zu einer leeren Zeichenkette
                  expandiert.

von dos (Gast)


Lesenswert?

variable besteht aus teilen:

%%a = %%~na.%%~xa (nicht getestet)

http://jamesewelch.wordpress.com/2008/05/01/how-to-write-a-dos-batch-file-to-loop-through-files/

von dos (Gast)


Lesenswert?

ah ok, danke. habe ich in der syntax nicht gesehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.