Wie führe ich String-Operationen für Variablen in einer for-Schleife aus?

8

Das hört sich dumm an, aber ich kann es nicht zur Arbeit bringen. Ich glaube, ich verstehe den Unterschied zwischen %%v, %v% and %v

nicht

Hier ist, was ich versuche zu tun:

%Vor%

Dies erzeugt erfolgreich ein Miniaturbild für jeden der Filme, aber das Problem ist:

%Vor%

Also möchte ich die letzten 4 Zeichen von %%v abziehen und diese für die zweite Variable verwenden.

Ich habe solche Dinge versucht:

%Vor%

Aber es funktioniert nicht, und es gibt auch keine der Wiederholungen, an die ich denken könnte.

Irgendwelche Ideen?

    
UltimateBrent 31.10.2008, 00:54
quelle

5 Antworten

8

Verwenden Sie %% ~ nV, um nur den Dateinamen zu erhalten.

    
WPWoodJr 31.10.2008, 01:01
quelle
25

Für Personen, die diesen Thread gefunden haben, um nach String-Operationen für For-Loop-Variablen zu suchen (verwendet verzögerte Erweiterung ) ):

%Vor%     
quelle
8
%Vor%

Von "Hilfe für":

%Vor%     
Jeff Hillman 31.10.2008 01:05
quelle
2

Ich bin nicht so gut im Batch wie oben (ich benutze stattdessen WSH oder andere Skriptsprachen), aber ich kann versuchen, %% v% v und% v% zu erklären.

Die ersten beiden Formen werden in einer for -Schleife verwendet. help for erklärt den Unterschied, das erste Formular wird in einer Stapelverarbeitungsdatei verwendet, während das zweite Formular beim Eingeben (Einfügen) des Befehls direkt an der Eingabeaufforderung verwendet wird.

Das letzte Formular ersetzt nur den Variablennamen (Umgebungsvariable) durch seinen Wert:

%Vor%     
PhiLho 31.10.2008 07:06
quelle
0

Noch eine andere Art, die ich bevorzuge, ist eine Unterroutine (: processMpeg) zu erstellen, die ich für jedes Element in der For-Schleife anrufe, an die ich die Variable %% v übergebe.

%Vor%     
Farsee 29.04.2016 19:25
quelle

Tags und Links