Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

AT Befehl per Batch wiederfinden

Frage Entwicklung Batch & Shell

Mitglied: franziska2

franziska2 (Level 1) - Jetzt verbinden

27.09.2007, aktualisiert 22.10.2007, 8424 Aufrufe, 9 Kommentare

Guten Morgen,
nachdem ich schon viel aus den Beiträgen gelernt habe, möchte ich mich erstmal bedanken bei allen, die ihr Wissen so freimütig zur Verfügung stellen.
Nun habe ich mich angemeldet, weil ich selbst eine Frage habe.
Ich lege für den Backup geplante Tasks über eine Batchdatei mit dem AT-Befehl an. Wenn ich neue Einstellungen für den Backup haben will, muss ich die alten AT-Befehle löschen. Dabei möchte ich aber nur die löschen, die ich selbst erstellt habe.
Ich müsste also schon während der Erstellung mitschreiben, welche Befehle entstanden sind, und die Liste später wieder abarbeiten.

Meine Batchdatei sieht bisher z.B. so aus:

at /delete /yes

at 08:30 /every:Mi c:\dvu-trv\2.1\pro_backup.bat dvu-trv d:\backup\dvutrv\online f o
at 09:30 /every:Mi c:\dvu-trv\2.1\pro_backup.bat dvu-trv d:\backup\dvutrv\online i o
at 10:30 /every:Mi c:\dvu-trv\2.1\pro_backup.bat dvu-trv d:\backup\dvutrv\online i o

Vielen Dank für Eure Tipps.
Franziska
Mitglied: jato11
27.09.2007 um 09:25 Uhr
Hallo Franziska,
wenn ich Dich richtig verstanden habe, erstellen mehrere Leute Tasks.

In Deiner Batch kannst Du hinter Delete den Auftrag angeben, der glöscht werden soll.
Das ist aber nicht sehr komfortabel.

Ich würde für diese Sicherung "Personal Backup" nehmen. Mit einen Mausklick kannst
Du Deine Sicherung geziehlt erstellen und löschen. Und das Backup wird auch schön
protokolliert.
http://www.ieap.uni-kiel.de/surface/ag-berndt/

Viele Grüße
Torsten
Bitte warten ..
Mitglied: franziska2
27.09.2007 um 12:12 Uhr
Sorry, dass ich mich jetzt erst melde.
Leider muss ich mit Bordmitteln arbeiten. Das Backup-Programm wird durch die Batchdatei aufgerufen und diese soll halt mehrmals pro Tag gestartet werden können. Ich frage die Zeiten mit einem Programm ab und setze sie in AT-Befehle um.
Gruß
Franziska
Bitte warten ..
Mitglied: miniversum
27.09.2007 um 18:06 Uhr
Du kannst doch die Kennung die Bei der erstellung ausgegeben wird mit einer For schleife abfangen und in eine Datei schreiben. Z.B. so:
FOR /F "tokens=6 delims= " %%i in ('at 08:30 /every:Mi c:\dvu-trv\2.1\pro_backup.bat dvu-trv d:\backup\dvutrv\online f o') do echo %%i>>alteKennung.txt

Bei einem Update liest du dann diese Datei wieder aus und fertig:
FOR /F "delims=" %%i in ('type alteKennung.txt') do at %%i /delete /yes

Ist aber ungetestet.

miniversum
Bitte warten ..
Mitglied: Biber
27.09.2007 um 19:07 Uhr
Moin franziska2,

das Problem würde ich eher pragmatisch angehen, da M$ bei den AT-Jobs nicht so viele Infos wirklich mitschreibt....
"Name", "Owner" und "Description" werden
a) bei AT-Jobs-Erzeugen nicht gefüllt und sind
b) nach dem Erzeugen "not writeable"...
Eine vorbildliche Programmiertechnik, wie wir sie aus Redmond und Neu-Wülferode gewohnt sind.

Beispiel:
01.
>at 5:8  "blafasel" 
02.
Neuer Auftrag hinzugefügt. Kennung = 1 
03.
>at 
04.
Statuskenn. Tag                     Zeit          Befehlszeile 
05.
--------------------------------------------------------------------------- 
06.
        1   Morgen                  05:08         blafasel
Auch die Überprüfung mit etwas moderneren Mitteln weckt nicht wirklich Hoffnung:
01.
>wmic job list brief 
02.
Command   JobId  Name  Owner  Priority 
03.
blafasel  1 
04.
 
05.
>wmic job list full 
06.
 
07.
Command=blafasel 
08.
DaysOfMonth= 
09.
DaysOfWeek= 
10.
Description= 
11.
ElapsedTime= 
12.
InstallDate= 
13.
InteractWithDesktop=FALSE 
14.
JobId=1 
15.
JobStatus=Success 
16.
Name= 
17.
Notify= 
18.
Owner= 
19.
Priority= 
20.
RunRepeatedly=FALSE 
21.
StartTime=********050800.000000+120 
22.
Status= 
23.
TimeSubmitted= 
24.
UntilTime=
...wie zu sehen ist, sind die theoretisch "sichtbaren" Attribute (Command, JobId, Name, Owner, Priority) nicht für Deine Zwecke, für die Frage "Ist der Job von mir gestartet?" brauchbar.

Deshalb als mein Tipp: Pragmatisch rangehen.
  • Du startest deinen Batch wie gehabt
  • und gibst diesem Batch aber noch einen Parameter mehr mit (der im Batch ja auch ignoriert werden kann)
  • und dieser Parameter kann wiedergefunden werden.

Bsp:
01.
>at 08:30 /every:Mi c:\dvu-trv\2.1\pro_backup.bat dvu-trv d:\backup\dvutrv [franziska2_Okt07] 
02.
... 
03.
>At 
04.
Statuskenn. Tag                     Zeit          Befehlszeile 
05.
------------------------------------------------------------------------------- 
06.
        1   Morgen                  05:08         blafasel 
07.
        2   Jeden Mi                08:30         c:\dvu-trv\2.1\pro_backup.bat dvu-trv d:\backup\dvutrv [franziska2_Okt07]
Wiederfinden und Löschen ist dann Spielerei:
01.
>at |find "[franziska2_Okt07]" 
02.
        2   Jeden Mi                08:30         c:\dvu-trv\2.1\pro_backup.bat dvu-trv d:\backup\dvutrv [franziska2_Okt07] 
03.
 
04.
>for /f %i in ('at^|find "[franziska2_Okt07]" ') do @echo AT %i /del 
05.
AT 2 /del
Grüße
Biber
Bitte warten ..
Mitglied: franziska2
28.09.2007 um 07:44 Uhr
Eure Vorschläge klingen super.
Leider kann ich heute nicht an der Sache arbeiten. Ich melde mich, wenn ich die Sache für mich umgesetzt habe.
Vielen Dank bis dahin.
Franziska
Bitte warten ..
Mitglied: franziska2
22.10.2007 um 09:55 Uhr
Nach einigen Wochen im anderen Projekt habe ich nun die "pragmatische" Variante verwendet.
Auch weil auf diese Weise nicht noch eine Datei entsteht, auf die man aufpassen muss.
Funktioniert wunderbar für mich.
Vielen Dank und viele Grüße
Franziska
Bitte warten ..
Mitglied: jato11
22.10.2007 um 10:33 Uhr
Schreib uns doch mal, wie Deine Lösung aussieht.
Vielleicht können das auch Andere verwenden.

Viele Grüße
Torsten
Bitte warten ..
Mitglied: franziska2
22.10.2007 um 10:44 Uhr
Meine Batchdatei mit den AT-Befehlen, die aus einem Progress-Programm heraus erstellt wird, sieht so aus:

01.
for /f %%i in ('at^|find "ATBefehlDVU-TrV" ') do AT %%i /del /yes           
02.
at  09:50  /every:Mo  D:\dvu-trv\backup.bat  dvu-trv  d:\backup\online f  o  ATBefehlDVU-TrV 
03.
at  09:54  /every:Mo  D:\dvu-trv\backup.bat  dvu-trv  d:\backup\online i  o  ATBefehlDVU-TrV
Dem eigentlichen Aufruf des Backupprogramms wird also außer den notwendigen Parametern noch ein weiterer mitgegeben "ATBefehlDVU-TrV".

Die for-Schleife in der ersten Zeile, findet dann genau diese Befehle wieder und setzt entsprechend AT mit /del ab.

Der Vorteil für mich ist, dass keine Datei (wie in miniversums Lösung) geschrieben wird, die die erstellten Befehle enthält. Denn diese könnte in unserer Umgebung aus Versehen gelöscht werden.
Mit Hilfe des "überflüssigen" Parameters kann man die richtigen AT-Befehle immer wiedererkennen.
Viele Grüße
Franziska
Bitte warten ..
Mitglied: Biber
22.10.2007 um 12:15 Uhr
Moin Franziska,

danke Dir für die Rückmeldung und das Posten der stabilen "production enviroment"-Lösung.

Ich denke, damit kann auch der eine oder die andere eigene Anforderungen umsetzen.

Den Beitrag schliesse ich jetzt guten Gewissens.

Schönen Tag Dir
Biber
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst BATCH: Minuszeichen in set-Befehl (3)

Frage von Schottenrock zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch for f Befehl erkennt doppelte Zeichen als eines (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...