aivilon
Goto Top

For f Schleife

For /f Schleife entweder rückwärts anwenden, oder letztes Wort nach dem letzten \ (Pfad) in Variable

Hallo Gemeinde

Ich habe ein kleineres Problem.

Also:

Ich möchte aus einem Pfad das letzte Wort, sprich der Ordnername, in eine Variable setzen.
Dies soll so ablaufen, dass der Pfad immer unterschiedlich lang ist, aber die Variable immer
das letzte Wort des Pfades beinhaltet.

Mir ist da natürlich die idee gekommen, die for /f schleife rückwärts zu starten...aber so wies
aussieht geht das nicht

Der Dateipfad ist in einer weiteren Variable, diese ist mit %Quelle1% definiert (hieraus muss die Schlaufe
das Wort herauspicken)


Kann mir wer helfen?

Greez

Content-ID: 164639

Url: https://administrator.de/contentid/164639

Ausgedruckt am: 17.11.2024 um 23:11 Uhr

99045
99045 15.04.2011 um 10:56:58 Uhr
Goto Top
Moin,

hier geben sich einige User große Mühe, umfangreiche Anleitungen zu schreiben, die Autoren freuen sich sicher, wenn man diese auch liest und verwendet.: Tutorial zur FOR-Schleife

Gruß
Skyemugen
Skyemugen 15.04.2011 um 11:03:20 Uhr
Goto Top
Aloha,

da sollte dir doch eigentlich %~n weiterhelfen ... (sofern du wirklich nur Verzeichnisse ausgeben lässt)

Mal ein plumpes Beispiel:
for /f "delims=" %%i in ('dir /b /s /ad "C:\Windows"') do echo "%%~ni" && REM gibt die Namen der Verzeichnisse aus, die in der jeweiligen untersten Ebene vorkommen

greetz André
Dynarius
Dynarius 15.04.2011 um 11:06:52 Uhr
Goto Top
Ich habs nun verschoben und ja es handelt sich um Batch sorry.

Ähm naja so wie er das geschrieben hat ist das nicht der Fall aber ich poste mal den Code:

csvde -d "OU=Users,OU=OU1,DC=Subdomäne,DC=Domäne,DC=de" -f "C:\Export.txt" -l "telephoneNumber,SamAccountName" -s Domänencontroller -t 389  

sleep 7

for /F "tokens=7,8 delims=," %%a in (C:\Export.txt) do call :start %%a %%b   

:start
set name=%5
set telefon=%4
echo %5;%4;1 >> C:\fertig.txt


nachdem die Export.txt durchlaufen ist und in die fertig.txt geschrieben wurde soll die Export.txt gelöscht werden also nach der for-schleife.
Skyemugen
Skyemugen 15.04.2011 um 11:09:04 Uhr
Goto Top
Aloha Dynarius ...

der falsche Kommentar im falschen Thread? :P (bitte löschen und bei dir posten, wo es hingehört - wir mögen kein Chaos am Freitag ^_^)

greetz André
Dynarius
Dynarius 15.04.2011 um 11:21:51 Uhr
Goto Top
hey hey,

kein ding, ich kann nur leider nich verschieben face-sad.

ich hab jetzt eh mal die batch reinkopiert
Skyemugen
Skyemugen 15.04.2011 um 11:25:50 Uhr
Goto Top
Aloha ...

ich sprach auch nicht von verschieben, sondern löschen (Text löschen you know?) und bei dir neu posten, danke! Denn dein Thema hat hier in einem anderen Thread nichts zu suchen ... (und unser zwangsläufiges [OT] eigentlich auch nicht)

greetz André

@Biber, wenn du mal vorbeischaust, mache dann mal richtig sauber zum Schluss, bitte, danke

edit: Und in seinem eigenen Thread schaut er scheinbar nicht mal mehr rein ... dabei ist heute doch gar nicht Montag ...
aivilon
aivilon 15.04.2011 um 13:23:44 Uhr
Goto Top
Zitat von @99045:
Moin,

hier geben sich einige User große Mühe, umfangreiche Anleitungen zu schreiben, die Autoren freuen sich sicher, wenn man
diese auch liest und verwendet.: Tutorial zur FOR-Schleife

Gruß

kk...

gröberes tutorial...
merci auf jeden fall...werd ich mal noch ganz durchlesen.
Hab darin aber gefunden was ich suchte

Greez
aivilon
aivilon 15.04.2011 um 13:29:20 Uhr
Goto Top
Also mit dem Tut hab ichs hingekriegt...darum gings auch so lange bis ich hier wieder
reingeschaut hab...

Für nachkommende Leute hier mal noch meine variante:
for /f "delims=" %%F in ("%Quelle1%") do set extziel=%%~nF

%Quelle1% steht für eine andere Variable, die ich eben zerlegen möchte.
set extziel=%%~nF steht für die erweiterung, die ich (in meinem Falle) für einen Kopiervorgang benötigte (um
das ziel damit zu füllen, damit ich in einmal mehrere Quellen an 1 ziel kopieren kann, und danach aber alles noch strukturiert bleibt)

What ever...so hats mir geholfen ^.^

Greez
und Danke an alle...

ich schliess grad noch ^.^