Top-Themen

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

gelöst Datei per Batch ausführen und Makro starten

Mitglied: Spidi-25

Spidi-25 (Level 1) - Jetzt verbinden

03.04.2010 um 13:18 Uhr, 10465 Aufrufe, 23 Kommentare

Hallo allerseits,

ich habe ein Problem und das geht so:

Ich möchte per Batch alle im Variablen Ordner befindlichen zum Bsp. PDF Dateien ausführen, aber folgender maßen erste Datei wird ausgeführt, danach läuft Makro ab und schließt das Programm. Die zweite Datei wird ausgeführt und wieder das Makro usw.

Ich habe es mit folgende Batch probiert

for %%f in (*_*.pdf) do @for /f "delims=_" %%n in (' %%~f') do @echo move /y "%%~"
c:\Makro\Makro.exe


Die erste Datei wird ausgeführt, nach dem ich das Programm manuell schließe wird die zweite Datei ausgeführt usw. bis es zur der letzten datei kommt, wen ich die schließe dann läuft erst das Makro einmal ab aber das Programm ist in dem Moment schon geschlossen.

Weiß jemand wie man die Batch umschreiben muss das funktioniert? Im Prinzip Datei ausführen, Makro ausführen usw.

Ich bedanke mich im Voraus

P.S Frohe Ostern
Mitglied: bastla
03.04.2010 um 14:54 Uhr
Hallo Spidi-25!

Ohne jetzt hinterfragen zu wollen, was Du mit "Datei ausführen" oder mit Deinem Batchansatz sonst noch meinst (und daher auch - fast - ohne den Hinweis, dass ein "move" in einem Batch kein "/y" benötigt ):
01.
@echo off & setlocla
02.
for %%f in (*_*.pdf) do for /f "delims=_" %%n in (' %%~f') do (
03.
    echo move "%%~"
04.
    c:\Makro\Makro.exe
05.
)
Grüße
bastla
Bitte warten ..
Mitglied: Spidi-25
03.04.2010 um 15:43 Uhr
Hallo bastla
danke für die schnelle Antwort

bei setlocla ist ein Fehler

und es werden nur die Dateien ausgeführt aber kein makro.exe
Bitte warten ..
Mitglied: bastla
03.04.2010 um 16:15 Uhr
Hallo Spidi-25!

Sorry und neuer Versuch:
01.
@echo off & setlocal
02.
for %%f in (*_*.pdf) do (
03.
    for /f "delims=_" %%n in (' %%~f') do echo move "%%~"
04.
    c:\Makro\Makro.exe
05.
)
Grüße
bastla
Bitte warten ..
Mitglied: Spidi-25
04.04.2010 um 00:19 Uhr
Hallo bastla

der Code Läuft immer noch nicht. Die Datei wird ausgeführt aber das Makro nicht, erst wenn ich das Programm schließe wird das Makro ausgeführt. Wen das Makro abgelaufen ist, wird die Zweite Datei ausgeführt usw. Sollte aber wie folgt ablaufen Datei ausführen > Makro ausführen, Makro Läuft ab und schließt das Programm. Nächste Datei wir ausgeführt usw.

Vielleicht schaffen wir das noch
THX
Bitte warten ..
Mitglied: bastla
04.04.2010 um 00:49 Uhr
Hallo Spidi-25!
Die Datei wird ausgeführt aber das Makro nicht,
Leider ist mir nicht so ganz klar, was Du unter "Datei wird ausgeführt" verstehst - eigentlich kann damit nur das Öffnen der jeweiligen ".pdf"-Datei durch das dafür im System festgelegte Standardprogramm gemeint sein - falls ja, könnte es so gehen:
01.
@echo off & setlocal 
02.
set "Ext=.pdf"
03.
set Prog=
04.
for /f "tokens=2 delims==" %%a in ('assoc %Ext% 2^>nul') do for /f "tokens=2 delims==" %%t in ('ftype %%a 2^>nul') do for %%p in (%%t) do if not defined Prog set "Prog=%%~p"
05.
if not defined Prog echo Kein Programm für %Ext% festgelegt! & goto :eof
06.

07.
for %%f in (*_*.pdf) do (
08.
    start "%Prog%" "%%f"
09.
    c:\Makro\Makro.exe 
10.
)
Ansonsten wäre es sinnvoll, einmal genau zu erklären, was die ganze Aktion bewirken soll ...

Grüße
bastla
Bitte warten ..
Mitglied: Spidi-25
04.04.2010 um 01:31 Uhr
Tut mir Leid aber der Code passt auch nicht ganz, es werden jetzt alle Dateien ausgeführt und auch das Makro so oft so viele Dateien verfügbar sind.

Sollte aber Datei Öffnen danach Makro öffnen und warten bis Makro das Programm schließt danach die nächste datei.

Mit der CMD möchte ich folgendes erreichen das was ich momentan manuell mache

1. rechts klick auf Datei "öffnen" (Datei öffnet sich mit dem Standard Programm)
2. ich doppelklicke auf "makro.exe" die bedient das Programm und macht einen automatischen Export und schließt das programm

3. erneut klicke ich die nächste Datei an (Datei öffnet sich mit dem Standard Programm)
4.(wie unter 2)
5. usw.

bei 20 Dateien sitzt man halt ne weile.
Bitte warten ..
Mitglied: Xpl0iT
04.04.2010 um 02:03 Uhr
wie wäre es mit

01.
@echo off
02.
dateiname.pdf
03.
makro.exe
04.
kill standartanwendung.exe
das ganze dann in einer schleife, müsstest jedoch zwischen den befehlen etwas zeit zum ausführen lassen
Bitte warten ..
Mitglied: bastla
04.04.2010 um 02:13 Uhr
Hallo Spidi-25!

Wenn ohnehin das Makro das Programm schließt, könntest Du noch zur Sicherheit
start /w c:\Makro\Makro.exe
verwenden ...

Grüße
bastla
Bitte warten ..
Mitglied: Spidi-25
04.04.2010 um 02:33 Uhr
Zitat von Xpl0iT:
wie wäre es mit

<code>
@echo off
dateiname.pdf

das sind mit unter zwischen 10 und 50 Dateien wie kann ich wie kann ich die Dateiname.pdf eingeben?

dieser Code wahr nicht schlecht der hat gewartet bis das Programm geschlossen wurde bevor es die nächste Datei geöffnet hatte, nur hat es das Makro zwischen den nicht gestartet.
@echo off & setlocal
for %%f in (*_*.stp) do (
for /f "delims=_" %%n in (' %%~f') do echo move "%%~"
C:\Makro\Makro.exe
)
Bitte warten ..
Mitglied: Spidi-25
04.04.2010 um 02:43 Uhr
Gibt es de keine Möglichkeit


CMD Ausführen

erste Datei wird geöffnet C:\Makro\makro.exe wird geöffnet. makro.exe läuft ab und schließt das Programm erst jetzt soll die nächste Datei geöffnet werden, danach wieder das Makro.
Bitte warten ..
Mitglied: bastla
04.04.2010 um 10:43 Uhr
Hallo Spidi-25!

Nachtrag: Die Zeilen 7 bis 10 hatte ich eigentlich so gemeint:
01.
for %%f in (*_*.pdf) do (
02.
    start "" "%Prog%" "%%f"
03.
    start /w c:\Makro\Makro.exe 
04.
)
Grüße
bastla
Bitte warten ..
Mitglied: Spidi-25
05.04.2010 um 02:26 Uhr
Jetzt läufst super Danke bastla, bin von dir mittlerweile nichts anderes gewöhnt das die Codes von dir klasse sind.

Die Zeile 2 vom Nachtrag start "" "%Prog%" "%%f" habe ich wieder wie in der zeile 8 verwendet start "%Prog%" "%%f" und jetzt is alles OK

Vielen dank noch mal
Bitte warten ..
Mitglied: Spidi-25
05.04.2010 um 09:28 Uhr
Hallo noch mal

eine frage hätte ich noch

könnte man an diesen Code noch was dranhängen? Und zwar wird die Datei geöffnet wie gewünscht und danach läuft das Makro ab, nur das Makro Macht den Export immer in einen Festen Ordner. In meinem Beispiel nach D:\Export, gibt es eine Möglichkeit am Schluss wen das Makro fertig ist in die CMD was einbauen, damit alle Daten von D:\Export in den Ordner von dem ich über einen Filecommander die CMD starte verschieben?

Danke schon mal im Voraus
Bitte warten ..
Mitglied: bastla
05.04.2010 um 09:52 Uhr
Hallo Spidi-25!

Die zusätzliche Zeile könnte so aussehen:
move D:\Export\*.*
Grüße
bastla
Bitte warten ..
Mitglied: Biber
05.04.2010 um 10:08 Uhr
Moin Spidi-25,

ja, es ist möglich. Häng noch eine Zeile mehr dran mit einem MOVE (falls es auf EINEM Laufwerk stattfindet oder einem COPY/DEL von D:\Export ins aktuelle Verzeichnis, falls es auf unterschiedlichen Laufwerken stattfindet.
Du kannst diese Zeile auch nach der FOR-Anweisung schreiben - kann ja keinen Unterschied machen.

Bist du dir wirklich sicher, dass du dir auch sinnvolle Beispiele zur Automatisierung von Abläufen zum Batch-Üben ausgesucht hast?
Einen Batch aus dem Filecommander in einem dort angezeigten Verzeichnis aufrufen, damit über Win32 ein PDF-Verarbeitungskrams gefolgt von einer XY-Makro-Appz aufgerufen wird, damit du danach alles im Filecommander siehst.... ööhm.

Ich weiss, das war ja nicht deine Frage... aber spielerisch elegant sieht es nicht aus.

Grüße
Biber
Bitte warten ..
Mitglied: Spidi-25
05.04.2010 um 13:31 Uhr
Danke im voraus

ich konte es nur ansatzweise testen, da ich momentan nich zuhause bin
so bald ich es getstet habe melde ich mich noch einmal.

zum Biber

Ich wechsel mit dem Filecommander in einen Auftragsordner, in dem nur die Auftragsdaten liegen nicht die CMD datei, die befindet sich im Laufwerk C:\windows.

Wen ich von den Auftragsdaten PDF´s benötige, dan möchte ich im Filecommander in die Kommandozeile zum bsp. PDF eintippen und die CMD öffnet mir die Datei und startet das Makro das bis jetzt auch wünschenswert funktioniert. Aber das Makro legt die Daten ins Verzeichnis D:\Export sollten aber in den gleichen Ordner. Das ganze sollte dan im Auftragsordner so aussehen .


5000_500_105_00.DXF
5000_500_106_00.DXF
5000_500_110_00.DXF
5000_500_115_00.DXF
5000_500_105_00.pdf
5000_500_106_00.pdf
5000_500_110_00.pdf
5000_500_115_00.pdf

wenn es geklapt hat oder nicht melde mich heute abend noch mal.

THX
Bitte warten ..
Mitglied: Spidi-25
05.04.2010 um 19:14 Uhr
Vielen dank alles bestens, läuft wie gewünscht
nur Ordner vom Laufwerk D:\Export\ werden nicht verschoben, nach der ganzen Aktion habe ich gemerkt das bei einem Exportformat ein unter Ordner erstellt wird. Bei den anderen 3 Exportformaten werden die Daten direkt in den D:\Export\ Ordner abgelegt und das passt so weit auch super den dann werden mit move richtig verschoben.

Gibt es eine Möglichkeit mit move D:\Export\*.* alle Daten vom unter Ordner mit der gleichen Aktion zu verschieben und alle unter Ordner von D:\Export\ löschen?


Grüße
Spidi-25
Bitte warten ..
Mitglied: bastla
05.04.2010 um 19:24 Uhr
Hallo Spidi-25!
Gibt es eine Möglichkeit mit move D:\Export\*.* alle Daten vom unter Ordner mit der gleichen Aktion zu verschieben ...
Dazu brauchst Du eine Schleife der Art
for /f "delims=" %%i in ('dir /s /b /a-d D:\Export\*.*') do move "%%i"
... und alle unter Ordner von D:\Export\ löschen?
... und dafür entweder eine weitere Schleife (wenn "D:\Export" erhalten bleiben soll)
for /d %%i in (D:\Export\*.*) do rd /s /q "%%i"
oder einfach das "große Aufräumen" mit
rd /s /q D:\Export
Grüße
bastla
Bitte warten ..
Mitglied: Spidi-25
05.04.2010 um 21:35 Uhr
Alles Klar jetzt haben wir es, du hast mir sehr sehr geholfen vielen vielen Dank.


P.S gibt es eine Webseite oder ein Buch, wie man die Zeichen nacheinander setzt, damit was vernünftiges raus kommt wie z.B. for /f "delims=" %%i in ('dir /s /b /a-d D:\Export\*.*') do move "%%i"

Grüß
Spidi-25
Bitte warten ..
Mitglied: Spidi-25
15.09.2010 um 12:59 Uhr
@ Bastla


01.
@echo off & setlocal  
02.
set "Ext=.pdf" 
03.
set "Prog=XLSmacker.exe" 
04.
for /f "tokens=2 delims==" %%a in ('assoc %Ext% 2^>nul') do for /f "tokens=2 delims==" %%t in ('ftype %%a 2^>nul') do for %%p in (%%t) do if not defined Prog set "Prog=%%~p" 
05.
if not defined Prog echo Kein Programm für %Ext% festgelegt! & goto :eof 
06.

07.

08.
for %%f in (*_*.pdf) do ( 
09.
    start %Prog% "%%f" 
10.
    start /w c:\Makro\Makro.exe  
11.
)
habe in Zeile 3 was verändert, brauche ich dann noch die Zeile 4 und 5?

Ist die Zeile 4 und 5 nur zur Ermittlung ob ein Programm für die Datei festgelegt ist?

Kann es sein das die Zeile 9 so aussehen muss ohne "" nur %Prog%
01.
    start %Prog% "%%f
denn nur so funktioniert es mit der neuen Zeile 3

vorher habe ich die Zeile so gehabt
01.
    start "%Prog%" "%%f"   
habe damals nach dem start die "" vergessen hat aber trotzdem funktioniert.

ich möchte jetzt ein festes Programm in der CMD festlegen, deswegen die neu Zeile 3

Grüße
Spidi-25
Bitte warten ..
Mitglied: bastla
15.09.2010 um 19:41 Uhr
Hallo Spidi-25!

Schreib die Zeile 9 so (der erste unter Anführungszeichen stehende Parameter wird als Fenstertitel interpretiert - siehe auch "start /?"):
start "Bearbeite %%f" "%Prog%" "%%f"
Grüße
bastla
Bitte warten ..
Mitglied: Spidi-25
15.09.2010 um 21:42 Uhr
Hallo bastla

ich habe jetzt verschiedene Möglichkeiten probiert und auch unter "start /?" nachgeschlagen und hier ist das Ergebnis

01.
start "Bearbeite %%f" "%Prog%" "%%f"  >>>  funktioniert
01.
start "" "%Prog%" "%%f" >>>  funktioniert
01.
start %Prog% %%f >>> komplett ohne ""  >>>  funktioniert
01.
start "" %Prog% %%f  >>>  funktioniert
01.
start  "%Prog%" "%%f"  >>>  funktioniert nicht!
so wie ich das interpretiert habe muss nur bei Title ["Title"] "" verwendet werden!

Bei mir zu hause hat die Zeile start "" "%Prog%" "%%f" >>> funktioniert (Win7 32bit) auf der Arbeit mit dem gleichen Programm, Makro und CMD (Win XP 64bit) nicht, werde es morgen nochmal testen. Ich weiß ob es beim bei Win XP x64 zu Win7 32bit einen unterschied bei Batch gibt.

Eins habe ich aber gemerkt bei Zeile 3

Zuhause bei Win7 32bit reicht es so!
01.
set "Prog=XLSmacker.exe"
auf der Arbeit Win XP x64 nur so!
01.
set "Prog=D:\"Program Files"\"XLS macker"\XLSmacker.exe"
und nicht so!
01.
set "Prog=D:\Program Files\XLS macker\XLSmacker.exe"
was ist mit Zeile 4 und 5?

Grüße
Spidi-25
Bitte warten ..
Mitglied: bastla
15.09.2010 um 21:59 Uhr
Hallo Spidi-25!

Kurzfassung:
Wenn Du Anführungszeichen verwendest, dann wird der Teil zwischen den ersten beiden Anführungszeichen als Titel interpretiert (natürlich funktioniert daher auch "").
Wenn der (tatsächliche - siehe W7-"Kunststücke") Pfad Leerzeichen enthält, muss zumindest der entsprechende Teilpfad unter Anführungszeichen stehen - lesbarer ist für mich die letzte von Dir dargestellte Schreibweise (also Anführungszeichen am Anfang und Ende des gesamten Pfades).
Wenn der Pfad keine Leerzeichen enthält, kannst Du ihn trotzdem unter Anführungszeichen setzen (was ich prinzipiell mache - damit bleibt ein Batch leichter veränderbar); die eigentlich einzige Situation, in welcher sich daraus ein Nebeneffekt ergibt (nämlich bei "start") haben wir gerade abgehandelt.

Aus allen diesen Überlegungen ergab sich mein oben genannter Vorschlag (bei dem ich allenfalls der Text für den Fenstertitel weglassen würde - war hier aber als Demo gedacht) bzw Deine Varianten 1 und 2 ...
was ist mit Zeile 4 und 5?
4 funktioniert nur, wenn Pfad und Programmname keine Leerzeichen enthalten.
5 funktioniert nicht, weil das Programm als Titel und die Datei in "%%f" als Programm betrachtet werden.

Grüße
bastla

P.S.: Ob es genügt, den Programmnamen ohne Pfad anzugeben, hängt nicht vom BS ab, sondern von der Frage, ob das Programm auch ohne Pfadangabe gefunden wird - dies ist der Fall, wenn das Programm im zum Zeitpunkt des Batchlaufes aktuellen Verzeichnis (= in %cd%) liegt oder das Programmverzeichnis in %path% enthalten ist ...
Bitte warten ..
Ähnliche Inhalte
Microsoft

ATLAS-Ausfuhr - Internetausfuhranmeldung Plus (IAA-Plus)

Frage von FischerICTMicrosoft6 Kommentare

Guten Abend -all, ich suche für einen Kungen ein kleines Anwendungsprogramm "Softwarelösung" die die Schnittstelle zu ATLAS aufweist Derzeit ...

Windows Server

Batch Script bei Start ausführen

Frage von KEFHVDIWindows Server3 Kommentare

Hallo, wie kann ich bei einem Windows Server 2012 ein Batchscript, welches mir ein Laufwerk einbinden soll, beim start ...

VB for Applications

Excel Makro Export in eine CSV Datei

gelöst Frage von FunServerVB for Applications5 Kommentare

Hallo, ich möchte eine Exceltabelle mittels Makro in einen Pfad mit festem Dateinamen exportieren. Hierzu gibt es schon folgenden ...

Batch & Shell

Batch will start Anweisung nicht ausführen

gelöst Frage von zeroblue2005Batch & Shell7 Kommentare

Hallo Zusammen, ich brauche mal Hilfe. Ich habe hier die Batch vom Programm ApcUPS die eine USV steuert! Das ...

Neue Wissensbeiträge
Rechtliche Fragen
Unitymedia siegt vor dem BGH
Information von transocean vor 37 MinutenRechtliche Fragen1 Kommentar

Moin, lt. einem aktuellen Urteil darf UM Mietrouter seiner Kunden weiterhin in Hotspots verwandeln. Nachlesen kann man das hier. ...

Router & Routing
Der "768k-Day" kommt
Information von LordGurke vor 1 TagRouter & Routing2 Kommentare

Für Leute, die Router mit BGP-Fulltable betreiben vielleicht ein interessanter Hinweis: Die IPv4-Fulltable erreicht voraussichtlich innerhalb der nächsten 2-3 ...

Debian

Partition angeblich voll, dabei aber noch nicht mal zur Hälfte belegt

Anleitung von diemilz vor 1 TagDebian8 Kommentare

Hallo zusammen, ich habe ein kleines Problem: Ich habe auf einem physischen Debian Linux Server als ZoneMinder-Server (HP ProLiant ...

Windows 7
Updategängelung auf Windows 10, die zweite
Information von Penny.Cilin vor 5 TagenWindows 72 Kommentare

Hallo, da Windows 7 im kommenden Jahr nicht mehr supportet wird, werden Nutzer von Window 7 home premium wieder ...

Heiß diskutierte Inhalte
HTML
Bild hochladen mit html auf die Webseite
gelöst Frage von WorldoftheitHTML61 Kommentare

Will eine Seite entwickeln im Internet aber Das Bild wird nicht angezeigt woran kann das liegen? Wäre für jede ...

Vmware
Terminalserver VM - Videos ruckeln
Frage von easyriderVmware27 Kommentare

Hallo zusammen, wir haben einen (free) ESXi 5.5 auf einem HP DL 380 G8 im Einsatz. Darauf läuft, unter ...

Backup
Veeam Community Edition
gelöst Frage von dgrebnerBackup23 Kommentare

Hallo Zusammen, kann jemand seine praktischen Erfahrungswerte mit der Veeam-Community Edition mit mir teilen? Es gab dazu ja schon ...

Festplatten, SSD, Raid
Harddisk kaputt, was sagt mir ChrystalDiskInfo
gelöst Frage von InfoSeekerFestplatten, SSD, Raid21 Kommentare

Hallo zusammen, Mein Rechner lahmt. Ich stell mir die Frage woran es liegt und bin der Meinung es ist ...