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

Überprüfung in Batch Datei

Frage Entwicklung Batch & Shell

Mitglied: tkacbgind

tkacbgind (Level 1) - Jetzt verbinden

09.01.2015 um 14:19 Uhr, 1008 Aufrufe, 7 Kommentare, 2 Danke

Hallo,

ich habe eine ganz einfache Batch Datei sie einfach nur 16 Excell Dateien öffnen soll

@echo off
echo Diese Datei öffnet die Excel Dateien
Start abc
Start def
Start usw
:end


Wie kann ich überprüfen ob alle Datein geöffnet wurden?
Wenn eine nicht geöffnet wurde soll eine kurze Fehlermeldung kommen die eine Nutzereingabe erfordert.

Danke für die Rückmeldungen

Mit freundlichen Grüßen
TKaCbGinD
Mitglied: miniversum
09.01.2015 um 15:14 Uhr
Hallo,

mit dem Befehl Tasklist kannst du den Fenstertitel ausgeben lassen.
Du suchst dann also einfach nach z.B. "Microsoft Excel - Mappe1" und siehst ob es existiert.

Zum Test kannst du mal Tasklist /V eingeben

Gruß
...
Bitte warten ..
Mitglied: colinardo
LÖSUNG 09.01.2015, aktualisiert 12.01.2015
Moin TKaCbGinD,
oder du machst das mit einem VBS-Script:
01.
On Error Resume Next 
02.
dim arrArbeitsmappen,objExcel, wb 
03.
'Pfade der Arbeitsmappen welche geöffnet werden sollen 
04.
arrArbeitsmappen = Array("C:\Datei1.xlsx","C:\Datei2.xlsx","C:\Datei3.xlsx") 
05.
'Excel sichtbar starten 
06.
Set objExcel = CreateObject("Excel.Application") 
07.
objExcel.DisplayAlerts = False 
08.
objExcel.Visible = True 
09.
 
10.
' Für jede Arbeitsmappe 
11.
For i = 0 To UBound(arrArbeitsmappen) 
12.
	' öffne die Arbeitsmappe  
13.
        set wb = objExcel.Workbooks.Open(arrArbeitsmappen(i)) 
14.
	'wenn die Mappe schreibgeschützt geöffnet wurde ist sie gesperrt, also breche den Vorgang ab 
15.
        if wb.ReadOnly then 
16.
            msgbox "Die Arbeitsmappe " & arrArbeitsmappen(i) & " ist durch einen anderen Benutzer gesperrt. Der Vorgang kann nicht fortgesetzt werden", vbExclamation 
17.
             objExcel.DisplayAlerts = True 
18.
             wscript.quit 
19.
	End If 
20.
Next
Grüße Uwe
Bitte warten ..
Mitglied: tkacbgind
09.01.2015 um 19:42 Uhr
Hallo, vielen dank für die schnellen Antworten.
Mit dem Tasklist Befehl ist mir leider nicht so ganz geholfen, das VBS verstehe ich noch nicht ganz.
Kann es leider auch erst am Montag wieder testen.

Vllt noch zur Erklärung:
Die zu öffnenden Dateien liegen auf verschiedenen Speicherorten auf Netzlaufwerken in der Firma.

Alle Dateien werden benötigt um ein umfangreiches Makro auszuführen.

Ich möchte halt auf einen Blick wissen ob alle Dateien geöffnet wurden und nicht eine durch einen User blockiert wurde.

Eine Abfrage nach einzelnen Dateien bringt mich da nicht wirklich weiter.

Vielen Dank auf jeden Fall schon mal für eure Mühe
Bitte warten ..
Mitglied: colinardo
LÖSUNG 09.01.2015, aktualisiert 12.01.2015
Ich möchte halt auf einen Blick wissen ob alle Dateien geöffnet wurden und nicht eine durch einen User blockiert wurde.
Hab das oben mal dahingehend angepasst. Aber wieso macht ihr die Überprüfung und das Öffnen nicht direkt schon in dem Makro, wie mit der obigen VBS? Dann weiß das Makro nämlich schon selber ob die Files durch einen anderen User blockiert sind (ReadOnly), und fängt erst gar keine Verarbeitung an !

Grüße Uwe
Bitte warten ..
Mitglied: tkacbgind
12.01.2015 um 09:10 Uhr
Hallo Uwe,

vielen Dank!

Das Öffnen und die Fehlermeldungen funktionieren über das VBS.

Nun wollen die Miatarbeiter sich aber an nichts neues gewöhnen

Also alles weiterhin mit der Batch öffnen...Angst vor Veränderung.

Es wäre so einfach gewesen.

Gibt es also eine Möglichkeit das ich im Makro oder in der Batch kurz abfrage ob alle Dateien offen sind bevor das "Hauptmakro" startet?

Danke
Bitte warten ..
Mitglied: colinardo
LÖSUNG 12.01.2015, aktualisiert um 10:26 Uhr
Gibt es also eine Möglichkeit das ich im Makro oder in der Batch kurz abfrage ob alle Dateien offen sind bevor das "Hauptmakro" startet?
Siehe den Code oben, du kannst ja anstatt der MsgBox eine Variable auf True setzen wenn nicht alle Files geöffnet werden konnten. Diese überprüfst du zum Schluss und entscheidet damit letztendlich ob das Makro gestartet wird oder nicht, ganz einfach.
Also das ganze in euer Makro einbauen, feddich. Ich sehe hier das Problem nicht ...

Per purem Batch kannst du erst mal knicken, außer du startest das VBS-Script aus der Batch, das geht natürlich auch:
cscript.exe //NOLOGO c:\script.vbs
Wenn du willst kann das VBS-Script
auch einen Wert in die Batch zurückgeben je nachdem ob alle Files geöffnet wurden oder nicht, dann kannst du entscheiden was geschieht.
Die Möglichkeiten sind hier vielfältig.

Aber wo muss man sich umgewöhnen wenn das alles doch nur ein Doppelklick ist ???
Bitte warten ..
Mitglied: tkacbgind
12.01.2015 um 10:26 Uhr
So erledigt

Frag nicht was daran kompliziert ist einen anderen Klick zu machen als vorher...ich werde es nie verstehen.

Vielen Dank für die super Hilfe.
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
Ä in batch Datei (12)

Frage von BergEnte zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...