Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Inhalt einer xxx.bat löschen

Mitglied: slofis

slofis (Level 1) - Jetzt verbinden

27.10.2011, aktualisiert 18.10.2012, 2886 Aufrufe, 10 Kommentare

Hallo

Ein Haupt-Programm XY löst eine 1.bat aus.

Es soll verhindert werden, das der Inhalt von 1.bat nochmal ausgeführt wird, wenn das Haupt-Programm XY öfters anspricht und damit die 1.bat wiederholt anspricht.


Wenn ich die 1.bat nur lösche od. rename, kommt die Verknüpfungsfehlermeldung und
nachfolgende automatisierte Programme werden solange verhindert, bis ich die Fehlermeldung wegklicke.

folgendes habe ich schon versucht.

In der 1.bat steht

@echo off
start 1.qmx
start z-parswitch -schalt 888 1 300 0
start del_1.bat
cls

in der del_1.bat steht

@echo off
del 1.bat
mk 1.bat
cls

Dies sollte eigentlich bewirken, das die 1.bat hernach ohne Inhalt da steht.

Allerdings wird statt der Datei 1.bat ein Ordner erstellt, der 1.bat heist.

Hab schon versucht hier eine Lösung zu finden. Aber bei dem Wirrwarr von %- und anderen Sonderzeichen kenn ich mich echt nicht aus.

Ich kenne halt nur die einfachen Befehle und da nicht alle.

Ich bitte um eine Lösung, die einfach gestrickt ist

Gruß Stephan
Mitglied: regedit19
27.10.2011 um 08:57 Uhr
Hallo!

Du könntest u.U die Option:
01.
 %0 
verwenden.

Dies wird aber leider dazu führen, da sich die Datei nicht löschen lässt, da sie gerade von sich selbst verwendet wird.


regedit19
Bitte warten ..
Mitglied: Skyemugen
27.10.2011 um 09:11 Uhr
Aloha,

hast du schon versucht einfach statt del 1.bat einfach type nul>1.bat zu nutzen?

Was bitte ist eigentlich mk?

Und wenn 1.bat geleert wird, wie soll das Hauptprogramm 1.bat nächstes mal wieder korrekt ausführen?

... ein wenig seltsam das Ganze

greetz André
Bitte warten ..
Mitglied: regedit19
27.10.2011 um 09:26 Uhr
Hallo!

Zitat von Skyemugen:

Was bitte ist eigentlich mk?

Ich glaube mit mk möchte er einen Ordner erstellen, was aber nur mit mkdir funktioniert.

regedit19
Bitte warten ..
Mitglied: Skyemugen
27.10.2011 um 09:31 Uhr
Zitat von regedit19:
Ich glaube mit mk möchte er einen Ordner erstellen

Dies sollte eigentlich bewirken, das die 1.bat hernach ohne Inhalt da steht.
... ob er das möchte?
Allerdings wird statt der Datei 1.bat ein Ordner erstellt, der 1.bat heist.
... wundert mich, dass dies mit mk funktioniert aber wenn bei ihm doch md oder mkdir steht, wundert mich, dass er sich wundert, dass ein Ordner erstellt wird ...

greetz André
Bitte warten ..
Mitglied: 60730
27.10.2011, aktualisiert 18.10.2012
moin und willkommen,

Ich kenne halt nur die einfachen Befehle und da nicht alle.

Du irrst dich - @echo off ist ein doppelbefehl und den kennst du - was er macht und das das dich rätseln läßt - merken wir.

Ich bitte um eine Lösung, die einfach gestrickt ist
Na dann wollen wir mal.
André hat dir ja einen Doppeltipp gegeben, aber der ist genauso, wie du in der Überschrift schreibst.

Das "echte" problem ist aber wohl eher hier zu suchen..

Es soll verhindert werden, das der Inhalt von 1.bat nochmal ausgeführt wird, wenn das Haupt-Programm XY öfters anspricht und damit die 1.bat wiederholt anspricht.

  • such mal nach:

Start /?
in deiner Dosbox
tasklist hier im Forum - z.B der 7. Treffer

Klar kann dir das jeder mal eben zusammenbraten, aber dann lernst du nix.
Falls du Probleme haben solltest, dann nutze bitte die Code Tags und wir helfen (ich nur, wenn das @echo off nicht vorangestellt ist)

Gruß
Bitte warten ..
Mitglied: slofis
27.10.2011 um 20:45 Uhr
Zitat von Skyemugen:
Aloha,

hast du schon versucht einfach statt del 1.bat einfach type nul>1.bat zu nutzen?

Was bitte ist eigentlich mk?

Und wenn 1.bat geleert wird, wie soll das Hauptprogramm 1.bat nächstes mal wieder korrekt ausführen?

... ein wenig seltsam das Ganze

greetz André

Uff, Ich hab mich glatt verschrieben... meinte natürlich md und ich dachte, wenn ich eine Endung anhänge, das dann statt eines Ordners eine *.bat erstellt wird.

Ja, lacht nur, aber ich habe echt sehr wenig Ahnung davon

Die 1.bat fülle ich hernach händisch aus einer Kopie der 1.bat wieder auf.

Ja, mit nul>1.bat ist die 1.bat dann leer.

nul>1.bat bewirkt aber auch, das die nächste Fehlermeldung kommt (keine Win32 Anwendung) weil ja kein Befehl mehr vorhanden ist in der 1.bat

.
Bitte warten ..
Mitglied: 60730
27.10.2011 um 21:59 Uhr
Salve

nul>1.bat bewirkt aber auch, das die nächste Fehlermeldung kommt (keine Win32 Anwendung) weil ja kein Befehl mehr vorhanden ist in der 1.bat

  • schau doch mal Spasseshalber, was dir einer ~43 minuten - nachdem du deine Frage gestellt hast - geantwortet hat.
Bitte warten ..
Mitglied: slofis
27.10.2011 um 23:03 Uhr
n'Abend

Hab mal nach " mit Batch eine Batch erstellen" gegoogelt und hernach folgendes fabriziert.

In der 1.bat steht

start xxx.qmx
start z-parswitch
start 2.bat
cls
In der 2.bat steht

del 1.bat (mit nul> gings nicht)
echo a> 1.bat
cls
Nun existiert die 1.bat mit dem Inhalt a

Die 1.bat kann nun mehrfach angesprochen werden, ohne eine Fehlermeldung zu fabrizieren.

Kleiner Schönheitsfehler:

Wird 1.bat und in folge 2.bat ausgelöst, bleibt am Schluss ein Dos-Fenster auf.

Wie kann ich dieses Fenster mit einem Befehl zum schließen bewegen ?

Gruß Stephan

PS: was sind Code Tags ?
Bitte warten ..
Mitglied: Biber
27.10.2011 um 23:33 Uhr
Moin slotis,

viele nennen mich ja "Biber den Geduldigen", aber manchmal...

Ich weiss nicht, was ihr da für einen Heckmeck macht mit irgendwelchen sich gegenseitig rufenden und löschenden Akrobatikbätschen aus dem Internet.

Wenn es denn ein ernstgemeinter Plan sollte, dass der Batch wirklich gelöscht werden oder überschrieben werden muss, damit er nur einmal ausgeführt wird, dann kann er sich doch selbst löschen.

Demo am CMD-Prompt:
 
C:\Temp>echo pause ^& del "%~f0">delMe.cmd 
 
C:\Temp>delme 2>nul 
 
C:\Temp>pause   & del "C:\Temp\delMe.cmd" 
Drücken Sie eine beliebige Taste . . . 
 
C:\Temp>delMe 
Der Befehl "delMe" ist entweder falsch geschrieben oder 
konnte nicht gefunden werden.
Wie zu sehen ist, wird das "Lösch-mich-selbst" aus der Bätschdatei selbst aufgerufen und auch klaglos ausgeführt - warum auch nicht.
Natürlich gibt es Mecker in Form einer Fehlermeldung "Die Batchdatei kann nicht gefunden werden.".
Aber die schicke ich mit "2>nul" zu den Fischen.

Anyway- es ist nun nicht nötig, die Batchdatei zu löschen, wenn sie nur einmal lausfen soll.
Dann stelle doch lieber zwei Dateien bereit, nämlich die cmd-Datei und im selben Verzeichnis eine LaufNurEinmal.xyz mit beliebigem oder keinem Inhalt.

In die zweite Zeile deiner Batch (nach dem @echo off & setlocal) schreibst du
IF not exist %~dpLaufNurEinmal.xyz goto :eof
.... hier dein Nutzcode
.... falls der Schnipsel bis zum Ende gekommen ist ->als letzte Zeile
del %~dpLaufNurEinmal.xyz

Fertig is.

Grüße
Biber

P.S. "Code Tags" sind diese kleinen grünen Bonbons, die es früher nur in Duty-Free-Shops gab...
Andere Erklärungen findest du unter "Formatierungshilfe", die rot leuchtet, wenn du einen Kommentar schreibst.
Bitte warten ..
Mitglied: Skyemugen
28.10.2011 um 08:45 Uhr
Zitat von slofis:
nul>1.bat bewirkt aber auch, das die nächste Fehlermeldung kommt (keine Win32 Anwendung) weil ja kein Befehl mehr vorhanden ist in der 1.bat

... ich schrieb auch nicht nul>1.bat ...

type nul>1.bat

Bei nul>1.bat bekomme ich unter Win XP höchstens Zugriff verweigert

Und <code></code>-Tags sind in der Formatierungshilfe (link) eigentlich nicht zu überlesen ...
Bitte warten ..
Ähnliche Inhalte
Exchange Server

Inhalt von Postfächern in Exchange löschen

gelöst Frage von m.reegerExchange Server9 Kommentare

Hallo liebe Admins, ich bin gerade dabei den Exchange aufzuräumen und stoße hier mal wieder an meine Powershell-Kenntnis grenzen. ...

Batch & Shell

Powershell zeile ohne inhalt löschen

Frage von BlueEyePhoenixBatch & Shell4 Kommentare

Hallo Community, ich versuche über PowerShell eine Excelliste zu bearbeiten. Diese wird als xlsx geöffnet soll bearbeitet werden und ...

Windows Server

PowerShell Inhalt einer csv Datei löschen

gelöst Frage von makaroniWindows Server4 Kommentare

Hallo zusammen, ich möchter gerne automatisiert über einen Task alle 10 Min eine CSV Datei via Powershell einlesen und ...

Batch & Shell

Lösche Inhalt in bestimmten Unterordner wenn älter als

gelöst Frage von KnuefiBatch & Shell7 Kommentare

Hallo, ich benötige eure Hilfe. Ich habe unterstehendes Script, leider funktioniert es nicht. Es wird nichts gelöscht. Was habe ...

Neue Wissensbeiträge
Linux Netzwerk

Installation eines Logservers mit Loganalyzer als Debian-VM auf Hyper-V

Anleitung von lcer00 vor 8 StundenLinux Netzwerk

Zuerst sei auf den schönen Beitrag von aqui hier im Forum verwiesen, in dem die loganalyzer-installation bereits beschrieben ist: ...

Humor (lol)
Antennagate 2018
Information von magicteddy vor 8 StundenHumor (lol)2 Kommentare

Da haut der angekaute Elektronikhersteller die teuersten Geräte auf den Markt und bekommt anscheinend die Basics mal wieder nicht ...

Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 1 TagDatenschutz3 Kommentare

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 2 TagenVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

Heiß diskutierte Inhalte
E-Mail
Welche ist die beste E-Mail Groupware für die Zukunft?
Frage von ITCrowdSupporterE-Mail24 Kommentare

Guten Tag allerseits :) Ich möchte mich mit einer Frage heute mal an die Schwarmintelligenz wenden. Aktuell befasse ich ...

Windows Server
In-Place Upgrade von Windows Server 2008 R2 Datacenter zu Windows Server 2016 Datacenter (Zwischenschritt über 2012 R2)
gelöst Frage von TowerpleaseWindows Server16 Kommentare

Hallo Administratoren, Wir haben uns vor ein paar Monaten Windows Server 2016 Datacenter Lizenzen gekauft und wollen nun unsere ...

Firewall
Wesyb Offline
Frage von DkuehlbornFirewall14 Kommentare

Hallo Kollegen, ein Kunde hat von Wesyb die Sicherheitslösung im Einsatz. Seit August scheint deren Internetseite nicht mehr verfügbar ...

Video & Streaming
DVD auf Festplatte sichern
Frage von Thor01Video & Streaming13 Kommentare

Hallo, mittlerweile hat meine DVD Sammlung ein alter erreicht wo die eine oder andere DVD schon das Zeitliche gesegnet ...