froschkoenig-lr
Goto Top

UnRar - .rar entpacken, umbennen, verschieben und löschen

Hallo

Leider komme ich nicht mehr weiter und hoffe auf eure Hilfe.

Per Parameter wird dem Skript ein Pfad zu einer Datei mitgeteilt. z.B. "F:\Verz1\Verz2\Datei.*"
Ist Verz1 als vorletzter Ordner im Argument vorhanden, gehts weiter.
Wird die Datei "F:\Verz1\Verz2\Datei.rar" übermittelt, soll nur diese Datei (nicht rekursiv suchen) entpackt, zum Verzeichnisnamen "Verz2" umbenannt und ein Verzeichnis höher "Verz1" verschoben werden.
Abschließend soll das "Verz2" samt Inhalt gelöscht werden

Immerhin habe ich es soweit gebracht, dass mir die Datei entpackt wird, jedoch wird diese nicht umbenannt und nicht verschoben.

Tausend Dank für jegliche Unterstützung.

@ECHO Off &SETLOCAL disableDelayedExpansion

set "UnRar=F:\Dir1\Dir2\Dir3\Dir4\unrar.exe"  

for %%i in ("%~1") do set "DateimE=%%~nxi"  
for %%i in ("%~1\..") do set "Name=%%~nxi"  
for %%i in ("%~1\..\..") do set "Directory=%%~nxi"  

if %Directory%==Verz1 goto UNRAR
if %Directory%==Verz2 goto UNRAR
if %Directory%==Verz3 goto UNRAR
if %Directory%==Verz4 goto UNRAR
if %Directory%==Verz5 goto UNRAR
if %Directory%==Verz6 goto UNRAR
if %Directory%== goto End
goto End

:UNRAR
for %%a in ("%~dp1*.rar") do for /f "delims=" %%b in ('%UnRar% lb "%%~Fa"') do (  
    %UnRar% e -o+ -idq "%%a" "%~dp1" -ep -x@  
	ren "%~dp1%%b" "%~dp1%Name%%%~xb"  
	echo /s /q  %~dp1
)
goto End

:End
exit

Content-ID: 4199617873

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

Ausgedruckt am: 24.11.2024 um 07:11 Uhr

rubberman
Lösung rubberman 08.10.2022 um 22:44:00 Uhr
Goto Top
REN /?
REN [Laufwerk:][Pfad]Dateiname1 Dateiname2

Ergo: Der neue Name ist lediglich der Name (ohne Pfad).
Verwende MOVE wenn es einen sinnvollen Grund gibt den Pfad mit anzugeben.

Steffen
Froschkoenig-LR
Froschkoenig-LR 09.10.2022 um 06:19:12 Uhr
Goto Top
Hi Steffen,

REN /?
REN [Laufwerk:][Pfad]Dateiname1 Dateiname2

...die Lösung kann so leicht sein, wenn man lesen könnte, jedenfalls funktioniert es so:

ren "%~dp1%%b" "%Name%%%~xb"   

Danke und einen schönen Sonntag.