Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung Batch & Shell

Mitglied: slofis

slofis (Level 1) - Jetzt verbinden

27.10.2011, aktualisiert 18.10.2012, 2866 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
gelöst Inhalt von Postfächern in Exchange löschen (9)

Frage von m.reeger zum Thema Exchange Server ...

Windows 7
gelöst Batch für User-TEMP-Ordner und Inhalte löschen (2)

Frage von planetIT2016 zum Thema Windows 7 ...

Windows Server
gelöst PowerShell Inhalt einer csv Datei löschen (4)

Frage von makaroni zum Thema Windows Server ...

Batch & Shell
gelöst Dateien nach Inhalt umbenennen (4)

Frage von Icemaniac zum Thema Batch & Shell ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(15)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (15)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...