Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [batch] ordnernamen (https://www.delphipraxis.net/115199-%5Bbatch%5D-ordnernamen.html)

Fussball-Robby 8. Jun 2008 10:45

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:
@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
Erstmal habe ich alle Leerzeichen durch # ersetzt. Dann hole ich mir den Ordnernamen und ersetze die # wieder durch Leerzeichen.
Ist wohl ziemlich unsauber, aber so gut kenn ich mich mit Batch-Programmierung auch nichts aus und vielleicht hilft es dir ja.

_frank_ 8. Jun 2008 12:50

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:
@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
Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.
Seite 2 von 2     12   

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