![]() |
Re: [batch] ordnernamen
Ich hab ne Lösung gefunden, ob sie elegant ist sei mal dahingestellt. Bei der Ausgabe sind dann aber noch Anführungszeichen drumrum.
Code:
Erstmal habe ich alle Leerzeichen durch # ersetzt. Dann hole ich mir den Ordnernamen und ersetze die # wieder durch Leerzeichen.
@echo off
pushd ..\.. for %%i in (%cd: =#%) do set MyDir=%%i for %%i in ("%MyDir:\=,%") do set MyDir=%%i for %%i in ("%MyDir:#= %") do set MyDir=%%i echo %MyDir% pause Ist wohl ziemlich unsauber, aber so gut kenn ich mich mit Batch-Programmierung auch nichts aus und vielleicht hilft es dir ja. |
Re: [batch] ordnernamen
danke, du hast mich da auf eine idee gebracht, auch wenn man keine schleife dafür braucht ;)
hab auch festgestellt, dass ich auch nur 1 ebene hoch muss ;) hier meine komplette batch, vielleicht nützt sie jemanden noch:
Code:
Gruß Frank
@echo off
cd %~dp0 rem removing backups del /S *.~* del /S *.dcu del /S *.map del /S *.drc del /S _bak_\*.* rmdir _bak_ goto getfoldername :DirsUp pushD .. :getfoldername rem getting name of current folder rem replace spaces set dir=%cd: =#% rem parsing last foldername for %%i in (%dir:\=,%) do set folder="%%i" rem replace back to spaces set folder=%folder:#= % rem remove quotes set folder=%folder:~1,-1% rem echo %folder% rem pause if "%folder%"=="trunk" goto DirsUp set zipname="%folder%.zip" set _7za="D:\system\7-zip\7za.exe" set exclude=-x!*.svn* popd %_7za% u -r -tzip %exclude% %zipname% .\ pause |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz