Beschleunigung des löschens mit Batch-Datei
Hi, kann mir vll einer von euch sagen, wie ich diese Batch zu mehr schnelligkeit beim löschen bewegen kann?
Danke schonmal an die Batch-Spezies.
Lg Grapper
@echo off
:delete
set Anhalt=n
cls
echo.
echo.
echo ***************************************************************************
echo * *
echo * Batchdatei zum L”schen der Datei auf den Servern *
echo * *
echo * Copy und Paste wird in dieser Version untersttzt *
echo * *
echo * Sonderzeichen (: - . Blank) werden erkannt und entfernt *
echo * *
echo * ACHTUNG: Die Dateien werden sofort kommentarlos gel”scht! *
echo * *
echo ***************************************************************************
echo.
echo.
set /p Var2=" Welche Datei soll gel”scht werden?"
set Var2=%Var2::=%
set Var2=%Var2: =%
set Var2=%Var2:.=%
set Var2=%Var2:-=%
set Var=%Var2:~-8%
Echo Bitte warten - Datei wird geloescht!
echo J|del "\\Server1\Pfad\Datei"
echo J|del "\\ Server2\Pfad\Datei"
echo J|del "\\ Server3\Pfad\Datei"
echo J|del "\\ Server4\Pfad\Datei"
echo J|del "\\ Server5\Pfad\Datei"
echo J|del "\\ Server6\Pfad\Datei"
echo J|del "\\ Server7\Pfad\Datei"
echo J|del "\\ Server8\Pfad\Datei"
echo J|del "\\ Server9\Pfad\Datei"
echo J|del "\\ Server10\Pfad\Datei"
echo J|del "\\ Server11\Pfad\Datei"
echo J|del "\\ Server12\Pfad\Datei"
echo J|del "\\ Server13\Pfad\Datei"
echo J|del "\\ Server14\Pfad\Datei"
echo J|del "\\ Server15\Pfad\Datei"
echo J|del "\\ Server16\Pfad\Datei"
echo J|del "\\ Server17\Pfad\Datei"
echo J|del "\\ Server18\Pfad\Datei"
echo J|del "\\ Server19\Pfad\Datei"
echo J|del "\\ Server20\Pfad\Datei"
echo J|del "\\ Server21\Pfad\Datei"
echo J|del "\\ Server22\Pfad\Datei"
echo J|del "\\ Server23\Pfad\Datei"
echo J|del "\\ Server24\Pfad\Datei"
echo J|del "\\ Server25\Pfad\Datei"
echo J|del "\\ Server26\Pfad\Datei"
echo J|del "\\ Server27\Pfad\Datei"
echo J|del "\\ Server28\Pfad\Datei"
echo J|del "\\ Server29\Pfad\Datei"
echo J|del "\\ Server30\Pfad\Datei"
echo J|del "\\ Server31\Pfad\Datei"
echo J|del "\\ Server32\Pfad\Datei"
echo J|del "\\ Server33\Pfad\Datei"
echo J|del "\\ Server34\Pfad\Datei"
echo J|del "\\ Server35\Pfad\Datei"
echo J|del "\\ Server36\Pfad\Datei"
echo J|del "\\ Server37\Pfad\Datei"
echo J|del "\\ Server38\Pfad\Datei"
echo J|del "\\ Server39\Pfad\Datei"
echo J|del "\\ Server40\Pfad\Datei"
echo J|del "\\ Server41\Pfad\Datei"
echo L”schung beendet.
set /p Anhalt=Enter zum beenden; j um eine weitere Datei zu l”schen?
if /I %Anhalt%==j goto :delete
exit
Danke schonmal an die Batch-Spezies.
Lg Grapper
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 185096
Url: https://administrator.de/contentid/185096
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
13 Kommentare
Neuester Kommentar
Hallo Grapper!
dürfte das eigentlich auch nicht schneller gehen ...
Grüße
bastla
[Edit] Sollte eigentlich immer schon "
Die zwei Attribute /F und /q werden bei mir nicht benötigt.
Dann aber "echo j|
" noch weniger ... Diese Batch zeigt auf wieviele Server zugegriffen werden muss um die Datei zu löschen.
Mit einer Schleife der Artfor %%i in (Server1 Server2 Server3 ... Server41) do del "\\%%i\Pfad\%var%"
Grüße
bastla
[Edit] Sollte eigentlich immer schon "
\\%%i...
" heißen [/Edit]
Moin grapper, moin bastla,
also ich bin der meinung, daß der Codeschnipsel
so nicht funktionieren kann, weil m.M.n. auch in der del-Schleife die server1 bis server42 erscheinen müßten.
Wie wäre es denn, wenn &grapper Du die Servernamen in eine Datei schreibst und per f"or /f"-schleife diese Datei abarbeiten läßt, etwa so:
<coxde>
for /f %%i in (servers.txt) do echo \\%%i\pfad\datei
for /f %%i in (servers.txt) do del "\\%%i\pfad\datei"
pause
Gruß J chem
Edit: da war er schneller.
also ich bin der meinung, daß der Codeschnipsel
for %%i in (Server1 Server2 Server3 ... Server41) do del "\\Server\Pfad\%var%"
so nicht funktionieren kann, weil m.M.n. auch in der del-Schleife die server1 bis server42 erscheinen müßten.
Wie wäre es denn, wenn &grapper Du die Servernamen in eine Datei schreibst und per f"or /f"-schleife diese Datei abarbeiten läßt, etwa so:
<coxde>
for /f %%i in (servers.txt) do echo \\%%i\pfad\datei
for /f %%i in (servers.txt) do del "\\%%i\pfad\datei"
pause
Gruß J chem
Edit: da war er schneller.
Hallo Grapper!
Grüße
bastla
[Edit] @skye & Jochem: Danke [/Edit]
kannst du mir mal eben noch sagen, wie ich die Datei Testen kann, ohne wirklich eine Datei zu löschen?
Die Schleife kannst Du testen, indem Du vor "del
" noch ein "echo
" platzierst ...Sehe ich das in deinem ausschnitt richtig, dass ich keine \\ bei den Servern eintragen muss?
Die werden einfach beim (inzwischen richtigen ) Zusammenbauen des Pfades eingesetzt ...Grüße
bastla
[Edit] @skye & Jochem: Danke [/Edit]
Hallo Grapper!
Die Schalter für "
"DelBatch1.cmd" würde dann etwa so aussehen:
und "DelBatch2.cmd" natürlich:
Grüße
bastla
Die Schalter für "
start
" nach Bedarf / Wunsch - aber übergeben werden sollte nur der Dateiname (die Pfade sind ja angeblich gleich, könnten aber natürlich auch mitgegeben werden), und im jeweiligen Batch werden dann zB 5 Server wie bisher behandelt, alsostart DelBatch1.cmd "%var%"
start DelBatch2.cmd "%var%"
...
del "\\Server1\Pfad\%~1"
del "\\Server2\Pfad\%~1"
del "\\Server3\Pfad\%~1"
del "\\Server4\Pfad\%~1"
del "\\Server5\Pfad\%~1"
exit
del "\\Server6\Pfad\%~1"
del "\\Server7\Pfad\%~1"
del "\\Server8\Pfad\%~1"
del "\\Server9\Pfad\%~1"
del "\\Server10\Pfad\%~1"
exit
bastla