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

VBS Ordner auf neue XML-Dateien überwachen, diese bearbeiten und Powershell-Script ausführen

Frage Entwicklung VB for Applications

Mitglied: alice1011

alice1011 (Level 1) - Jetzt verbinden

06.12.2011 um 11:27 Uhr, 5619 Aufrufe, 4 Kommentare

Hallo,

ich brauche Hilfe für Automatisierung eines Prozesses.

Für Profis unter euch soll's sicherlich kein Problem sein, doch für mich ist es schon mit Aufwand verbunden folgendes Problem zu lösen, besonders beim xml-Parsen:

Ein Ordner auf dem Netzwerklaufwerk soll (per .bat?) überwacht werden und wenn in diesem neue .xml-Dateien auftauchen, diese einzeln laden und prüfen,

ob z.B. <objectID>123</objectID> = "123" ist, und wenn es der Fall ist, soll ein Powershell-Script ausgeführt werden, an den solche Werte wie

<language>de</language> und <name>Manuel Müller</name> aus der .xml-Datei an den Script weitergeleitet werden müssen, z.B. als Variablen language="de" usw.


Danke voraus!

Grüße

Alice
Mitglied: micneu
12.12.2011 um 14:02 Uhr
moin,

den ordner kannst du auch direkt aus powershell überwachen, powershell hat dafür eine funktion.
denke das sollte alles nicht das mega problem sein, ist denke ich alles in powershell lösbar.

so oder ähnlich könnte das in powershell sein mit dem prüfen ob was im verzeichnis ist.
(noch anzupassen)
01.
#   ************************************************************** 
02.
#   foulder-check 
03.
04.
#    einmal auf der powershell ausgeführt werden 
05.
#     "Set-ExecutionPolicy Unrestricted" 
06.
#   ************************************************************** 
07.
#     
08.
#   ************************************************************** 
09.
#   * Angepasst M.N. - POWERSHELL / Entwicklung   19.11.2010      * 
10.
#   *  
11.
#   ************************************************************** 
12.
 
13.
$ErrorActionPreference = 'SilentlyContinue' 
14.
 
15.
$destinationpath = "C:\Temp\11" 
16.
$sourcepath = "C:\Temp" 
17.
$NoFiles = "2" 
18.
$fsw = New-Object System.IO.FileSystemWatcher 
19.
$T = (Get-ChildItem $destinationpath).count 
20.
$fsw.Path = $sourcepath 
21.
$result = $fsw.WaitForChanged("All") 
22.
$result 
23.
 
24.
if ($T -eq $null) { 
25.
    $files= Get-ChildItem -name $sourcepath | select -First $NoFiles 
26.
    $files 
27.
    foreach ($File in $Files) { 
28.
        echo "copy-item '$sourcepath\$File' '$destinationpath'" 
29.
30.
  }
kannst ja mal eine .xml posten

gruß michael
Bitte warten ..
Mitglied: micneu
12.12.2011 um 14:06 Uhr
habe gerade nochmal geschjaut, es scheint auch ganz einfach zu sein xml daten zu bearbeiten/auszulesen:
schau mal hier http://www.heise.de/ix/artikel/Datenzugriff-506816.html

gruß michael
Bitte warten ..
Mitglied: alice1011
12.12.2011 um 15:06 Uhr
Hallo Michael,

danke schon mal! Werde es gleich direkt testen.

XML hat folgende Form:

<EINKAUF> 
<ARTIKEL id="123456" ident="ID_OBJECT"> 
			<ATTRIBUTE id="LOGON_USER" ident="ID_ATTRIBUTE"> 
				<ATTRIBUTE_VALUE>USERID\M810126</ATTRIBUTE_VALUE> 
			</ATTRIBUTE> 
			<ATTRIBUTE id="EMAIL" ident="ID_ATTRIBUTE"> 
				<ATTRIBUTE_VALUE>max.musterman@muster.com</ATTRIBUTE_VALUE> 
			</ATTRIBUTE> 
			<ATTRIBUTE id="WEBSITEADRESSE" ident="ID_ATTRIBUTE"> 
				<ATTRIBUTE_VALUE>http://website.com/ID_1032</ATTRIBUTE_VALUE> 
			</ATTRIBUTE> 
			<ATTRIBUTE id="MENUSPRACHE" ident="ID_ATTRIBUTE"> 
				<ATTRIBUTE_VALUE>englisch</ATTRIBUTE_VALUE> 
			</ATTRIBUTE> 
</ARTIKEL> 
<ARTIKEL id="123458" ident="ID_OBJECT"> 
			<ATTRIBUTE id="LOGON_USER" ident="ID_ATTRIBUTE"> 
				<ATTRIBUTE_VALUE>USERID\M810121</ATTRIBUTE_VALUE> 
			</ATTRIBUTE> 
			<ATTRIBUTE id="EMAIL" ident="ID_ATTRIBUTE"> 
				<ATTRIBUTE_VALUE>marta.musterman@muster.com</ATTRIBUTE_VALUE> 
			</ATTRIBUTE> 
			<ATTRIBUTE id="WEBSITEADRESSE" ident="ID_ATTRIBUTE"> 
				<ATTRIBUTE_VALUE>http://website.com/ID_1033</ATTRIBUTE_VALUE> 
			</ATTRIBUTE> 
			<ATTRIBUTE id="MENUSPRACHE" ident="ID_ATTRIBUTE"> 
				<ATTRIBUTE_VALUE>deutsch</ATTRIBUTE_VALUE> 
			</ATTRIBUTE> 
</ARTIKEL> 
</EINKAUF>
Davon brauche ich ARTIKEL id="123456" und alle Values von Attributes.

So lese ich dann die Werte aus:

$doc=[xml](Get-Content test.xml)
$artikelid=$doc.EINKAUF.ARTIKEL[0].id

oder

$sprache=$doc.EINKAUF.ARTIKEL.ATTRIBUTE[3].ATTRIBUTE_VALUE
Bitte warten ..
Mitglied: printerman
10.01.2012 um 11:17 Uhr
Ich habe ein ähnliches Problem und keine Ahnung wie ich Anfangen soll.

Es gibt eine uralte Anwendung die XMLDAteien zum Ausdrucken in einen Ordner zur Verfügung stellt.
Leider kommen wir nicht an den Quellcode und die Weiterverarbeitung an den Drucker soll nun
auf den "neusten" Stand gebracht werden. Es soll nach und nach umgestelt werden daher habe ich zwar folgende
Idee aber keine Ahnung von Programmierung.
Ich hoffe das mir hier einer helfen kann und bedanke mich für jeden Tipp.

Ich muss einen Ordner überwachen in dem ständig neue XML-Dateien eingestellt werden.
In den XML-Dateien muss ich den Parameter Label (layoutfile) auslesen damit ich in einem Ordner(Layouts2) diese Datei suchen kann.
Sollte die Datei vorhanden sein muss ich den Parameter von .lfe in z.B. .lbl abändern und die gespeicherte Datei in
einen anderen Ordner verschieben.(Ordner XMLAusdruck2)(dort ist ein Tool welches die Weiterverarbeitung aufnimmt)

Sollte die Datei nicht vorhanden sein muss die XML-Datei unverändert in einen anderen Ordner geschoben werden(Ordner XMLAusdruck).
Dort wird sie wie "früher" dann abgearbeitet.


Die XML Dateien sehen so wie diese hier aus:


<?xml version="1.0" encoding="utf-8"?>
<XMLwatchPrintJob Label="Etikett Karton VE.lfe" Printer="TEC B-572" Port="192.168.1.39:raw2">

<Ausdruck1 Copies="3">

<Artbez>KXXL Set 12tlg</Artbez>
<ArtNr>55.07.033</ArtNr>
<CodNr>051010</CodNr>
<Packnorm>1</Packnorm>
<TeileNr>09051010004</TeileNr>

</Ausdruck1>
</XMLwatchPrintJob>


Danke und Gruß
Michael
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Powershell Script um Inhalt von Dateien zu vergleichen (14)

Frage von zamsi7 zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Script Move-Item nach x Tagen (5)

Frage von lupolo zum Thema Batch & Shell ...

VB for Applications
Powershell Script aus VBA heraus ausführen (2)

Frage von mcnico1978 zum Thema VB for Applications ...

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

Frage von Xaero1982 zum Thema Microsoft ...

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

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...