Batch netzwerkfähig / multiuserfähig machen?
Hallo zusammen,
ich habe mir mit Hilfe dieses Forums eine Batch erstellt (letzte Zeile auslesen, Nummer um eins erhöhen und wieder abspeichern) die inzwischen auch funktioniert. (Danke nochmal für die Hilfe und die Vorlagen!)
Diese Batch kann mannuell durch mehrere User (3) im Netzwerk gestartet werden. Da in der Batch eine Nummer erstellt wird die wieder in einer separaten Datei angehängt und gespeichert wird, könnte es also sein das zwei (oder mehr) gleichzeitig die Batch starten.
Gibt es irgendwelche Anweisungen die sicherheitshalber in die Batch reinmüssen damit im Netzwerk keine Abstürze, Fehlinterpretationen in diesem Fall entstehen?
ich habe mir mit Hilfe dieses Forums eine Batch erstellt (letzte Zeile auslesen, Nummer um eins erhöhen und wieder abspeichern) die inzwischen auch funktioniert. (Danke nochmal für die Hilfe und die Vorlagen!)
Diese Batch kann mannuell durch mehrere User (3) im Netzwerk gestartet werden. Da in der Batch eine Nummer erstellt wird die wieder in einer separaten Datei angehängt und gespeichert wird, könnte es also sein das zwei (oder mehr) gleichzeitig die Batch starten.
Gibt es irgendwelche Anweisungen die sicherheitshalber in die Batch reinmüssen damit im Netzwerk keine Abstürze, Fehlinterpretationen in diesem Fall entstehen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 43763
Url: https://administrator.de/forum/batch-netzwerkfaehig-multiuserfaehig-machen-43763.html
Ausgedruckt am: 14.01.2025 um 12:01 Uhr
4 Kommentare
Neuester Kommentar
ich weiss jezz nicht genau, wo da dann das problem liegen soll, aber wenn du den multiuserzufriff unterbinden willst, kannste auch beim starten der batch eine datei anlegen (inkrNumberLaeuft.txt) und beim beenden wieder loeschen. die nummer wird dann nur inkrementiert, wenn die datei beim starten nicht schon existiert hat. additiv evtl noch ne schleife einbauen - mit jeweils 1sec pause bei jedem durchlauf - die 5 mal probiert, die nummer zu erhoehen (nur dann wenn die textdatei nicht da ist.
Esco
Esco
Moin noadmin,
skizzieren würde ich es so:
Gruß
Biber
skizzieren würde ich es so:
.....
:: Letzte Zeile in %Var% speichern
:TryAgain
If exist %temp%\Blocker.tmp (
echo Jemand anderes ändert gerade...Moment...
ping localhost >nul
goto TryAgain
)
Echo Nu' aber ich!!>%temp%\Blocker.tmp
for /F "Tokens=*" %%i in (C:\testbat\angnr.txt) do Set Var=%%i
Echo Info: Letzte Angebotsnummer: %Var%
::Variable um Eins erhoehen
SET /a Var=Var+1
Echo Neue Angebotsnummer: %Var%
Echo %var%>>C:\testbat\angnr.txt
Del %temp%\Blocker.tmp
Gruß
Biber