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

Batch file TapeID in Variable schreiben

Frage Entwicklung Batch & Shell

Mitglied: parkesel

parkesel (Level 1) - Jetzt verbinden

13.11.2012, aktualisiert 01:04 Uhr, 1656 Aufrufe, 4 Kommentare

Hallo,
habe eine Problem, ich möchte bei Arcserve GFS Sicherstellen das Montag die Montagskassette, Dienstag die Dienstagskassette usw eingelegt ist, das klappt bei GFS recht gut wenn kein Feiertag dazwischen kommt oder ein user vergisst das band einzulegen.

Deshalb habe ich mir ein paar batch Dateien geschrieben welche die Kassetten verschieben.

Arcserve kann mit Command Line perfekt gesteuert werden doch nun zu meinen Problem:

Rufe ich bei Arcserver diesesn befehl auf:
ca_dbmgr -cahost 192.168.2.3 -show poolmedia GFSPOOL_DLY >c:\dly.txt

so erstellt er mir folgende Datei

SAVE SET:

NO. TAPE-NAME SERIAL# TAPEID SQ# FORMAT-ON EXPIRES-ON PURGED KB WRITTEN HOST NAME
1 F-GFSPOOL-DI-06.11.12 1300002 dae1 1 06.11.2012 23:01:56 25.10.2015 13:59:38 NO 431420224 SERVER
2 F-GFSPOOL-DO-08.11.12 1300004 7524 1 08.11.2012 23:01:58 25.10.2015 14:03:06 NO 440917568 SERVER
3 F-GFSPOOL-MI-07.11.12 1300003 763 1 07.11.2012 23:01:54 25.10.2015 14:01:18 NO 432238272 SERVER

SCRATCH SET:

NO. TAPE-NAME SERIAL# TAPEID SQ# FORMAT-ON EXPIRES-ON PURGED KB WRITTEN HOST NAME
1 F-GFSPOOL-MO-05.11.12 1300001 7805 1 05.11.2012 23:01:48 25.10.2015 13:58:00 NO 431426432 SERVER


Da das verschieben der Bänder nicht mit der Seriennummer sondern mit der ID funktioniert und sich die ID leider immer ändert bräuchte ich eine abfrage der batch Datei, ich schaffe es leider nicht

es sollte also die TAPEid der kassette mit SN 1300001 in die Variable %montag% geschrieben werden, 1300002 in die Variable %Dienstag% etc. In meinen Beispiel sollte also %montag% 7805 werden.

Somit könnte ich die Bänder mit
ca_dbmgr -cahost 192.168.2.3 -mediapool move %montag% "GFSPOOL_DLY" "GFSPOOL_DLY" scratch
verschieben.

Anbei der Link zur orginal Datei

https://dl.dropbox.com/u/39220034/backup/dly.txt

Ich würde mich sehr freuen wenn mir jemand behilflich sein könnte, irgendwie müste dies doch mit findstr oder irgendwie lösbar sein?

1000 Dank


























Mitglied: rubberman
13.11.2012, aktualisiert um 01:27 Uhr
Hallo parkesel,

wenn ich es richtig verstanden habe, ist das mit ein paar Schleifen fix getan.
Zum Test:
01.
@echo off &setlocal 
02.
  
03.
for /f "tokens=3,4" %%i in ('findstr "130000" "C:\dly.txt"') do ( 
04.
  for %%k in ("1 montag","2 dienstag","3 mittwoch","4 donnerstag","5 freitag","6 samstag","7 sonntag") do ( 
05.
    for /f "tokens=1,2" %%l in (%%k) do ( 
06.
      if "%%i"=="130000%%l" set "%%m=%%j" 
07.
08.
09.
10.
 
11.
echo Test: 
12.
echo Montag %montag% 
13.
echo Dienstag %dienstag% 
14.
echo Mittwoch %mittwoch% 
15.
echo Donnerstag %donnerstag% 
16.
echo Freitag %freitag% 
17.
echo Samstag %samstag% 
18.
echo Sonntag %sonntag% 
19.
 
20.
pause
Versteht sich von selbst, dass nur IDs zugewiesen werden, die auch in der Textdatei zu finden sind.

Das Ganze sollte auch ohne temporäre Datei laufen, wenn du Zeile 3 wie folgt änderst:
for /f "tokens=3,4" %%i in ('ca_dbmgr -cahost 192.168.2.3 -show poolmedia GFSPOOL_DLY^|findstr "130000"') do (
Grüße
rubberman
Bitte warten ..
Mitglied: parkesel
13.11.2012 um 02:10 Uhr
Woow super Danke,

habe es getestet funktioneirt perfekt:

mache nun 4 Tages Jobs

@echo off &setlocal

for /f "tokens=3,4" %%i in ('ca_dbmgr -cahost 192.168.2.3 -show poolmedia GFSPOOL_DLY^|findstr "130000"') do (
for %%k in ("1 montag","2 dienstag","3 mittwoch","4 donnerstag","5 freitag","6 samstag","7 sonntag") do (
for /f "tokens=1,2" %%l in (%%k) do (
if "%%i"=="130000%%l" set "%%m=%%j"
)
)
)

ca_dbmgr -cahost 192.168.2.3 -mediapool move %donnerstag% "GFSPOOL_DLY" "GFSPOOL_DLY" save
ca_dbmgr -cahost 192.168.2.3 -mediapool move %mittwoch% "GFSPOOL_DLY" "GFSPOOL_DLY" save
ca_dbmgr -cahost 192.168.2.3 -mediapool move %dienstag% "GFSPOOL_DLY" "GFSPOOL_DLY" save
ca_dbmgr -cahost 192.168.2.3 -mediapool move %montag% " GFSPOOL_DLY" "GFSPOOL_DLY" scratch


5 Freitagsjobs und 12 Monatsjobs

Wobei ich das scratch immer verschiebe Diestags auf Dienstag usw.

jeden 28 des monats würde ich den Monatsjob ausführen, währe es machbar das die Batch Datei im Oktober bei Oktober das scratch anhängt und bei den restlichen monaten save? usw?

nene bin so auch seeeeeeeeeehr zufrieden.

Danke für dein Hilfe

P.s bist du programmierer? oder wo lernt man sowas?

Thx
Bitte warten ..
Mitglied: rubberman
13.11.2012 um 18:56 Uhr
Hallo parkesel.

Zitat von parkesel:
5 Freitagsjobs und 12 Monatsjobs

Wobei ich das scratch immer verschiebe Diestags auf Dienstag usw.

jeden 28 des monats würde ich den Monatsjob ausführen, währe es machbar das die Batch Datei im Oktober bei Oktober das scratch anhängt und bei den restlichen monaten save? usw?
Sorry, bin kein Admin und verstehe nur ansatzweise was du da tust. (Immerhin hat mir Google was brauchbares zur Abkürzung GFS ausgespuckt. Das Prinzip ist mir also wenigstens klar )
Wie wäre es wenn du mit mehr als einer Batchdatei arbeitest und per geplantem Task die entsprechende Datei aufrufst, um deine zusätzlichen Anforderungen zu erfüllen?

Zitat von parkesel:
P.s bist du programmierer? oder wo lernt man sowas?
Nope. Ich versuche nur mir etwas automatisierte Unterstützung bei meiner täglichen Arbeit zu verschaffen. Da ist man entweder ständig auf fremde Hilfe angewiesen oder man beschäftigt sich selbst ein wenig mit Scripting/Programmierung. Ich habe mich halt für Letzteres entschieden und Spaß damit.

Grüße
rubberman
Bitte warten ..
Mitglied: parkesel
14.11.2012 um 12:14 Uhr
Hallo,

Ich bedanke mich nochmal recht Herzlich.

Also deine abfrage funktioniert perfekt, nun bin ich mir sicher das Montags die 130001 er kassette im Pool ist.

Vielen Dank und hoffe ich kann mich bei Batch programmierung nochmal bei dir melden.

LG

helmut
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst Aktueller Besitzer der aktuellen Datei herausfinden und in Variable schreiben (11)

Frage von Peter32 zum Thema Batch & Shell ...

Batch & Shell
"Generic" Drucker mit batch - File erstellen (6)

Frage von MrPreesident zum Thema Batch & Shell ...

Batch & Shell
gelöst DWORD (Name immer verschieden) eines RegKeys auslesen und in Variable schreiben (2)

Frage von reissaus73 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (27)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (20)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...