ralfste
Goto Top

Batch umbenennen und automatisch wieder Aufrufen

Folgende Spielerei schwebt mir im Kopf herum:
Ich möchte eine Batchdatei (Name egal) die auf richtige Namensgebung geprüft wird.
Stimmt der Name nicht, soll er Automatisch geändert werden, der Batch mit Falschem Namen gelöscht werden, und der Umbenannte Script aufgerufen werden.
Bei Erfolgreichem Aufruf soll sich der Script Automatisch löschen.
Klappt auch alles schon Prima, nur das wieder Aufrufen nach der Umbenennung will nicht.
Kann mir jemand verraten was Falsch ist, und wo ich den Denkfehler hab?

Hier der Quellcode vom Wichtigen Teil, der Rest ist für die Fehlerfindung Überflüssig, und ich Denke der Datenbankspeicher wirds mir Danken face-wink

@echo off
set pruef="Diese Nachricht Loescht sich selbst.bat"
if Exist %pruef% goto OK
if not Exist %pruef% goto Falsch

:OK
echo Die Datei hat den richtigen Namen.
echo Die Datei wird nun geloescht.
Pause
del %pruef%
goto Ende

:Falsch
echo Die Datei hat einen falschen Namen.
echo Ich werde die Datei Umbenennen.
Pause
copy %0 %TMP%\%pruef%
copy %TMP%\%pruef%
del %TMP%\%pruef%
del %0
call %pruef%

:Ende
Pause
exit


Wer sich nun fragt was das ganze soll, dem sei darauf hingewiesen, das der erste April vor der Tür steht.

Ralf

Content-Key: 84104

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

Printed on: April 24, 2024 at 23:04 o'clock

Member: SteinBeiser
SteinBeiser Mar 27, 2008 at 14:54:03 (UTC)
Goto Top
Du sägst an dem ast auf dem du sitzt.

das del %0 hinter dem call dan solte es funken.
Member: RalfSte
RalfSte Mar 27, 2008 at 15:14:46 (UTC)
Goto Top
Hatte ich als erstes Ausprobiert, aber dann wird der Umbenannte Script auch nicht gestartet face-sad
Bzw. die Datei wird gar nicht erst umbenannt, sondern kommentarkos gelöscht (ist ja auch Beabsichtigt).

Ralf
Member: SteinBeiser
SteinBeiser Mar 27, 2008 at 15:33:41 (UTC)
Goto Top
Also bei mir funkts.
betsys=WinXP Pro SP2
Member: RalfSte
RalfSte Mar 27, 2008 at 15:37:50 (UTC)
Goto Top
Bei mir nicht.
Windows 2000
Aber so groß kann der unterschied zwischen den beiden betriebssystem auf der Befehlsebene doch nicht sein oder?
Egal, es geht nicht.
Member: RalfSte
RalfSte Mar 27, 2008 at 15:51:19 (UTC)
Goto Top
Alles zurück, ich habs.
Mein Rechner hat sich bei den aktionen selbst Überholt.
So funktioniert das:


@echo off
set pruef="Diese Nachricht Loescht sich selbst.bat"
if Exist %pruef% goto OK
if not Exist %pruef% goto Falsch

:OK
cls
echo Die Datei hat den richtigen Namen
echo Diede Datei wird nun geloescht
Pause
del %pruef%
goto Ende

:Falsch
cls
echo Die Datei hat einen falschen Namen
echo Ich werde die Datei Umbenennen
Pause
copy %0 %TMP%\%pruef% >>%TMP%\loe.txt
copy %TMP%\%pruef% >>%TMP%\loe.txt
del %TMP%\%pruef%
REM ping -n 2 localhost > nul
call %pruef%
del %0

:Ende
Pause
exit


dennoch Danke für die Bemühungen mir zu Helfen.

Ralf