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

Verzeichnis auf veränderte DOCs überwachen und auf Standarddrucker (PDF) ausgeben

Frage Entwicklung Batch & Shell

Mitglied: peiker

peiker (Level 1) - Jetzt verbinden

20.07.2010, aktualisiert 18.10.2012, 6401 Aufrufe, 18 Kommentare

Hallo an alle Mit-Admins!

Ich befinde mich in folgender Situation, bei der ich zuvor selbstverständlich und ganz großmäulig meinte, dass das klappen würde ;) In regelmäßigen Abständen kopiert mein xcopy Script aus verschiedenen Verzeichnissen nur die neuen und veränderten Doc-Dateien in ein Verzeichnis auf einen anderen PC. Dort werden die Docs in PDF umgewandelt, sofern es noch keine PDF mit dem aktuellen Doc-Stand gibt und danach lädt der FTP-Watchdog die neue/aktualisierte PDF aus dem gleichen Verzeichnis auf meinen FTP.

Klapp soweit auch alles, bis auf dass das Programm zur Überwachung des Verzeichnisses mehr schlecht als recht läuft.

Auf diesem PC läuft normalerweise die gekaufte PDF X-Change Software, die auch damit geworben hat, Verzeichnisse überwachen und neue Dateien automatisch in PDF wandeln zu können, aber das Programm (selbst nach Updates auf die aktuellste Version) macht es nicht wirklich so, wie es vielleicht sinnvoll wäre; es stürzt irgendwann mitten in der Umwandlung ab (z.B. bei Doc 35 von 250) und wartet dann eigentlich nur noch darauf, dass sein Prozess gekillt wird. Wird es dann neu gestartet, startet es die Umwandlung in PDF wieder neu (obwohl die interne Liste bis 35 abgearbeitet wurde), was natürlich zur Folge hat, dass die PDFs auch neu sind und vom FTP-Watchdog wieder neu auf den FTP geladen werden. Bei 10-20 PDFs wäre mir das egal - in diesem Fall sind das >400 Stück und es gibt nur eine 2 MBit Leitung...


Was ich also suche ist eine Ablöse für dieses Verzeichnisüberwachungs-Tool. Es ist leider einfach Murks.

Ich dachte an eine Batch, die anstelle des Programmes aufgerufen wird, die anhand der ein mal erstellten und dann ggf. aktualisierten txt-Datei mit den Datums und Zeitangaben für die Dateien, erkennt welche Doc neu ist und welche alt. Die neue muss dann einfach nur auf dem Standarddrucker (PDF) ausgegeben werden und der Eintrag in der txt aktualisiert... oder so. In meinem PDF Drucker erfolgt auch keinerlei Eingabe mehr (gleicher Dateiname, gleicher Speicherort...). Theorie klingt für mich schlüssig, nur die Umsetzung wird bei mir nix, da ich nur Grundkenntnisse in Batch habe (bei delims oder findstr klinke ich spätestens aus) ... Batch wird auch höchstens 2 mal am Tag über Scheduled Task aufgerufen und braucht noch nichtmal in einer Schleife laufen...

in der Hoffnung, dass jemand diesen wirren Beitrag versteht und mir helfen kann

der peiker
Mitglied: godlie
20.07.2010 um 11:46 Uhr
Hallo,

dafür gibs einen ganz einfachen ansatz, bevor du beginnst deine Dateien umzuwandeln verschieb einfach alles was im ordner ist in einen tmp Ordner zum Bearbeiten.
Bist du dann mit deinem Zeugs fertig leerst du den tmp Ordner und das gleiche Spiel geht wieder von vorne los...

Die PDF umwandlung könntest mit Freepdf realisieren lässt sich recht gut über die Commandline dazu bewegen. ( Weis leider über PDF X-Change nichts ... ).

Is doch recht verständlich oder?
Bitte warten ..
Mitglied: 60730
20.07.2010, aktualisiert 18.10.2012
Moin,

hmm such mal hier im Forum -da wirst du so einiges finden.

  • pdfcreator Serverversion
erzeugt dir aus jeder installierten Anwendung heraus ein pdf.

  • openoffice kann man auch als konvertier Dienst laufen lassen. (jodconverter - da hab ich mal eine Anleitung angefangen - die war aber nicht fertig "hübsch" verbildert" und ging um doc2rtf - wobei doc2pdf das gleiche in grün wäre)
Mittlerweile gibts aber von den Opensourclern - die das Projekt betreuen auch eine Anleitung - daher hab ich die nicht mehr weitergeführt.

  • und das "bisschen" Verzeichnisüberwachung ist eigentlich auch kein Ding.
Xcopy /d

Also duch dir was aus dem Forum raus - dann kannst du immer noch (wenn es denn so wäre) - schreiben
:
hab ich ausprobiert und hänge fest usw.

Dann kann man gezielt helfen, ohne das Rad neu zu erfinden.

Gruß

[edit:]
@ godlie:
Autsch - der Ansatz ist zu einfach - denn beim verschieben kann sich auch das Datum ändern und x andere Sachen landen in der Hose - nicht in der Jacke....
Da dann eher vorher das Archivbit auslesen oder andere "spielereinen" machen - das ist sauberer...
[/edit]
Bitte warten ..
Mitglied: peiker
20.07.2010 um 13:01 Uhr
Eben, aber das ist ja nicht mein Problem. Umwandlung in PDF, dafür habe ich alles. Office 07, PDFXChange als Dienst ... Mich ärgert nur, dass es eigentlich eine einfache Kiste ist (in der Theorie), nur das Programm dort versagt, wofür es für teuer Geld angeschafft wurde. Als einfacher PDF Drucker funktioniert das Teil ja (ein mal über den Treiber eingestellt speichert es automatisch ohne Rückfrage so wie es soll), weshalb ich nichts anderes brauche - es ist eben nur der Standarddrucker und Dokumente auf diesem auzugeben ist ja nicht sonderlich schwer. Was das Programm für die Verzeichnisüberwachung und automatische Umwandlung mitbringt ist mehr als Basic und in dem Umfang leider überflüssig und schlecht.

Ja selbstverständlich habe ich vorher hier lang und breit gesucht, sonst würde ich mir nicht die Mühe machen es zu erklären zu versuchen. XCOPY /D bringt mir auch nichts - bzw nutze ich bereits im Kopierscript, da die Dateien bereits im Verzeichnis liegen, in das die PDFs rein sollen. Die Docs sollen auch dort liegen bleiben, nachdem aus ihnen PDF erstellt wurden und nur wenn mittels des XCOPY /D Scripts eine neue Doc bzw. eine alte aktualisierte in das Verzeichnis abgelegt wurde, soll auch die PDF angelegt oder ersetzt werden.
Bitte warten ..
Mitglied: 60730
20.07.2010 um 13:16 Uhr
moin,

dann mal langsam und im 3/4 Takt...

für deinen Fehlkauf könne merr nix

es ist eben nur der Standarddrucker und Dokumente auf diesem auzugeben ist ja nicht sonderlich schwer.
*hüst* aber deinen Satzbau - bzw. denn Sinn dahinter verstehe ich nicht - ist mir zu schwer oder hast du nur komplex angedeutet.

Naja - die Lösung - die godlie & ich dir raten - wäre halt unabhängig von std. Drücker - keeene Ahnung ob dette dein BeDeEf Ägschänje ooch beherrschen tut.
Normalerweise sind doch alle pdf erzeuger irgendeine Scriptansammlung - die sich um Ghostscript angesammelt hat - von daher - wie druckst du?

XCOPY /D bringt mir auch nichts - bzw nutze ich bereits im Kopierscript, da die Dateien bereits im Verzeichnis liegen, in das die PDFs rein sollen.
Aber offensichtlich klemmts doch irgendwo?
Und bei Scripts - die klemmen hat sich das posten zwischen <code> und </code> Blöcken hier als wunderbaren Ansatz zum helfen erwiesen.

Nochmal - bei Werkzeugen- -die gerne mal hängen bleiben - hat sich (wenn man die denn unbedigt behalten will) eine andere Lösung als tauglich erwiesen, als bei einer, die schnurrt wie Schmitz Katze.

Der einen gibts du ein Doc - stoppst die Zeit und wenn bis dahin nix geschieht - ist das pdf wohl nicht erzeugt worden und man man "irgendwas"
Dem anderen wirfst du einfach die Docs zum frass vor und die schnurrt - ohne das man da eingreifen muß.
Wobei der Sicherheitsheini in mir eigentlich immer nachschaut, ob der Job "already done" ist - oder on da sich was aufgehängt hat.


Gruß
Bitte warten ..
Mitglied: peiker
20.07.2010 um 13:38 Uhr
Ok hast gewonnen ich wusel schon seit 2 Wochen mit dem Mist rum und es ärgert einfach nur. Versteh mich teilweise selbst ja nicht mal mehr. o0

Also gut. Ich habe viele Doc und Docx in vielen verschiedenen Verzeichnissen. Viele User bearbeiten (mal öfter, mal seltener) viele dieser Dokumente. Diese Dokumente müssen aber immer auf dem aktuellsten Stand im Internet sein; das nicht in Doc(x), sondern PDF.

Aus diesem Grund haben wir uns ein programm gekauft, was folgendes können sollte: Verzeichnisüberwachung, automatische Umwandlung neuer Dokumente.

Die Verzeichnisüberwachung gilt in dem Fall aber nicht rekursiv, also kopiere ich mittels eines scripts aus den vielen Unterverzeichnissen alle doc(x) Dateien in ein einziges Verzeichnis, was ich mit dem Programm überwachen konnte. Das Programm kommt aber anscheinend nicht mit so vielen Dateien klar (teilweise nur 1-Seitig, teilweise 24-Seitig, also bunt gemischt und es bleibt nach keinem Schema hängen - beliebig. Selbst das wäre kein Problem, würde ich einfach mittels pskill den Task beenden und das Programm zur Umwandlung einfach neu starten, aber dann fängt es wieder von ganz vorn an und überschreibt die zuvor erstellen PDF, obwohl die Doc sich gar nicht geändert hat.

Ich habe also noch gar kein (zweites) Script, für umwandeln usw. Die ganze Verzeichnisüberwachung möchte ich nämlich ersetzen, damit das endlich ans Laufen geht

was ich also brauche:
1. script, welches überprüft, ob es von einer doc(x) seit der letzten ausführung eine neuere version gibt (denke über eine log)
2. ausgabe der/des entsprechenden dokumentes auf dem standarddrucker (in dem falle der pdf drucker und batch befehl "print ...")
3. update der log für abgleich in späterem lauf der batch

und an dem Punkt bin ich bereits dermaßen matsche, dass ich mich gar nicht mehr konzentrieren kann deswegen die frage hier.

danke erstmal
Bitte warten ..
Mitglied: 60730
20.07.2010 um 13:53 Uhr


ok - Variante 1

statt alles per xcopy auf einen Schlag zu kopieren - kannst du doch eine Datei kopieren, diese ist dann als einzige im überwachten Ordner und so würde der PDFX nicht abschmieren??.

(for /f oder for /r schleife)
01.
for /f %%i in ('"dir /b /s \\server\freigabe\*.doc*"') do ( 
02.
xcopy "%%i" quelle  
03.
ping localhost -n 222>nul 
04.
)
Also nur eine kopieren - 222 sekunden warten bis die nächste kopiert und erkannt wird....

Aber ich würds (bzw. ich machs anders)

Variante 2a&b

Hast du auf dem betreffenden Ort eine (inkrementelle) Datensicherung?

Wenn nein - kannst du mit dem Archivbit "spielen" - wenn ja - mußt du dir z.b das hidden Flag nehmen.
Attrib /?

Andernfalls via
dir /b /s *.doc* >vorher.ini
xcopy quelle ziel usw
dir /b /s *.doc* >nachher.ini
oder via xcopy /d /l>neues.ini (das nicht kopiert -aber das was kopiert werden würde anzeigt - indem Fall in die Datei neues.ini)
oder > oder wiederrum einer for schleife
rausfinden - was neu ist.

Das wäre so der grobe Weg für 1&3 - wie dein 2 aussehen muß - kann ich dir nicht sagen, denn ich hab den pdfxchange nicht.

sorry - aber für mehr zeit, als das grobe skizzieren reichts grade nicht.

Gruß
Bitte warten ..
Mitglied: godlie
20.07.2010 um 14:03 Uhr
Hm sowas wäre ja eine wunderbare sache für ein SVN System mit hookscripts ...
Bitte warten ..
Mitglied: peiker
20.07.2010, aktualisiert 18.10.2012
Hmm ... okeee. Mir scheinen grad schnuckelige 36° auf die Glatze, was nicht gerade hilfreich ist, aber danken kann ich PDF XChange kann in dem Fall ganz einfach wie ein stinknormaler Drucker behandelt werden. Ich will die Verzeichnisüberwachung davon nicht mehr nutzen. In das Script möchte ich (es sei denn es gibt einen eleganteren Weg) sowas wie hier:
http://www.administrator.de/forum/mehrere-dokumente-per-batch-drucken-b ...

Es muss nur gesagt werden "druck dies darauf", aus word würde beim klick auf druck (wenn pdfxc als standarddrucker definiert ist) mit meinen einstellungen auch automatisch durchlaufen und das dokument mit dem gleichen namen als pdf im gleichen verzeichnis speichern. ist also nur ein print.

dein zweiter code schaut schon mal gut aus, aber... ich brauche den vergleich der dateien (neu <-> alt) nur für den druck, damit alte pdf dokumente nicht unnötig aktualisiert werden. passiert das nämlich, werden diese auch wieder neu hochgeladen und verursachen traffic, der die 2mbit (und da läuft auch voip und alles drüber) so gering wie möglich gehalten werden sollte.
Bitte warten ..
Mitglied: 60730
20.07.2010 um 17:10 Uhr
Zitat von peiker:
Hmm ... okeee. Mir scheinen grad schnuckelige 36° auf die Glatze, was nicht gerade hilfreich ist, aber danken kann ich

ok dann würd ich mal schreiben - hier ähnlich (nur mit Haaren)

Ich "mag" halt dieses Klickkrams nicht wirklich - daher lass ich das gerne.
(kein Standarddrucken - sondern gezielt per script)


Das "problem" ist doch - viele pdf drucker können sowohl papier als auch ein pdf gleichzeitig erzeugen.

Nimmst du diesen Weg - gibts ne neue Datei.

Von daher einmal abendlich - oder wie oft soll das laufen?
Den "alten" Kram "sichern" neues zeug rein und das Delta pdfen und ftpen.

Willst du dein gekauftes Werkzeug nehmen - dann versuch es mit dem ersten Scriptschnippsel - denn der kopiert ja nur eine Datei dorthin, wo der PDFerzeugungsüberwacher lauscht uind wartet 222 sekunden - alles ist wahllos gewählt - ich würde ein großes pdf erzeugen lassen und die Zeit stoppen, bis es da ist - da noch 5 sekunden draufhauen und du bist auf der sicheren Seite, dass die PDF erzeugung "Tröpfenweise" geschieht.

Wenn das nicht klappt bauen wir was - dann komplett neu - aber vorher gilt try this one out.

Und wenns kälter wird - du mußt doch eh kopieren, weil dein xdingens keine rekursiven Folder kann - von daher würd ich den ganzen klimbatsch - beim drucken schon zu überprüfen - ob es ein PDF gibt sein lassen und den später machen.

01.
rem mach mir ne Liste welche Dateien Neuer sind 
02.
xcopy quelle\*.doc*  ziel\  /s /D /l>neues.txt 
03.
rem jetzt jede einzelne rüberschieben und 2 minuten pause 
04.
for /f %%i in ('type "neues.txt"') do ( 
05.
                       xcopy "quelle\%%i" ziel\ 
06.
                       ping localhost -n 120>nul 
07.
)
oder so
01.
rem mach mir ne Liste welche Dateien Neuer sind und kopiere nur die -die es nicht gibt. 
02.
xcopy quelle\*.doc*  ziel\  /s /D /l>neues.txt 
03.
rem jetzt jede einzelne rüberschieben und 2 minuten pause 
04.
for /f %%i in ('type "neues.txt"') do ( 
05.
                      if not exist "ziel\%%i"  xcopy "quelle\%%i" ziel\ 
06.
                       ping localhost -n 120>nul 
07.
)
Und wenn du "gescheit " bist - nimmst du diese neues.ini auch als jobliste für das ftp.
Auch da haben wir x sachen gebaut ftp script - wäre da das suchstichwort.

Gruß
edit:
@lordofpings - zweimal den öffnenden ( vergessen ist auch bei dem Wetter unentschuldbar - ich geh in den Keller und geisle mich mit der Klammerzange
/edit
Bitte warten ..
Mitglied: peiker
20.07.2010 um 20:45 Uhr
cool besten dank. das wir morgen direkt mal probiert. nach vielen tests mit meinem FTP-klickprog muss ich aber schon sagen, dass das schon sehr zuverlässig ist. falls da probleme aufkommen, werde ich das wie von dir geraten durch ein ftp script von hier ersetzen. rekursiv braucht auf dem ftp nicht zu sein. ich sammel nur die dokumente aus den vielen unterverzeichnissen in ein verzeichnis, so wie es hinterher auf den ftp kommt (davor sitzt eine typo3 website, wo alle files hardcoded aufgelistet sind).

eine 25 seiten pdf auf meiner xen vm braucht ca. 30 sekunden (1x xeon quadcore mit 8gb nur für die VM allein), die zeit kann ich also runterschrauben. angedacht war nämlich, dass das script per scheduled task ein mal vormittags gegen 11 und dann nochmal gegen abend läuft. bisher wurde das nur jede woche manuell aktualisiert und die aktuellsten dokumente nach anfrage per mail versendet - eher suboptimal bei der menge. ein mal abendlich kann auch reichen, dann sind die aktuellsten doks auf jeden fall am nächsten tag oben.

zeile 4 deiner codes (for...) helfen mir ungemein. ich hab jahrelang mit ner starren c/side programmiersprache (nem gemisch aus basic und c) verbracht, dabei komme ich gar nicht aus der anwendungsentwicklung und brauche den einen oder anderen anstoß. bedankt melde mich morgen, wenn ich es zum laufen bekommen habe (oder probleme habe ;))

grüße und nen schönen abend!
peiker
Bitte warten ..
Mitglied: LotPings
20.07.2010 um 21:42 Uhr
Zitat von peiker:
zeile 4 deiner codes (for...) helfen mir ungemein.
Da hat Timo aber hinter dem Do die öffnende Klammer ( vergessen.

Gruß
LotPings

Edit: @Timo Keller ist gut - da ist es kühl, aber die Klammerzange vertausche mal lieber mit einem weichen Klammeraffen
Bitte warten ..
Mitglied: peiker
21.07.2010 um 09:06 Uhr
guten morgen.
so warm ist es noch gar nicht, aber als rückmeldung erhalte ich immer
01.
Datei 01) nicht gefunden. 
02.
0 Datei(en) kopiert
die log-datei wird richtig geschrieben. "Datei 01)" ist das erste unterverzeichnis im quellverzeichnis, nach "01)" geht es mit einem leerzeichen und weiteren bezeichnungen weiter. ich habe jetzt mit " probiert den dateinamen einzugrenzen, damit nicht nur "01)" als dateiname erkannt wird, sondern das komplette verzeichnis mit allen unterverzeichnissen bis hin zur doc(x), aber ich bekomme immer wieder den fehler ... im zielverzeichnis darf ja alles zusammen drin liegen und dieses ist momentan auch noch leer "0 Datei(en) kopiert".

magst du mir nochmal helfen, timobeil? vielen dank!
Bitte warten ..
Mitglied: 60730
21.07.2010 um 10:04 Uhr
Moin,

der "klassiker"

Schau dir einfach mal for/? an - dann erklärt sich auch "tokens und delims - und das type - ist eine eigenart "meiner" batche - eigenmtlich auch flüssiger, als flüssig überflüssig.

01.
rem mach mir ne Liste welche Dateien Neuer sind und kopiere nur die -die es nicht gibt. 
02.
xcopy quelle\*.doc*  ziel\  /s /D /l>neue.txt 
03.
rem die letzte Zeile mit der "zusammenfassung" kicken. 
04.
find "\" "neue.txt">neues.txt 
05.
rem jetzt jede einzelne rüberschieben und 2 minuten pause 
06.
for /f "tokens=1,* delims=" %%i in (neues.txt) do ( 
07.
                      if not exist "ziel\%%i"  xcopy "quelle\%%i" ziel\ 
08.
                      ping localhost -n 120>nul 
09.
10.
del neu*.txt
Bitte warten ..
Mitglied: peiker
21.07.2010 um 13:44 Uhr
habe dir mal eine nachricht mit dem genauen fehler geschickt (inkl. pfade dateinamen). %i ist ja der pfad zur quelldatei (mit laufwerksangabe usw), dewegen wird mir beim script wenn ich "ziel\%%i" durch mein ziel "U:\verzeichnis\%%i" ersetze gesagt "datei nicht gefunden" .... klar, weil er das %i druch die quelle - nämlich T:\quellverz\*.doc* ersetzt .... ergebnis ist "U:\verzeichnis\T:\quellverz\*.doc*"
Bitte warten ..
Mitglied: 60730
21.07.2010 um 14:27 Uhr
moin,

das wetter und die ungetesteten batche..

achtung ist immer noch ungetestet aus dem bauch..
Diesmal ohne rems - steht ja oben schon alles...

Und wenn du gleich den ganzen Baum incl. Ast mappst - ist es "schöner"


01.
if not exist b: net use b: \\server\freigabe 
02.
if not exist u: net use u: \\server\freigabe\Unterverzeichnis 
03.
xcopy c:\script\*.cmd*  n:\  /s /D /l>\neue.txt 
04.
find "\" "neue.txt">neues.txt 
05.
for /f "tokens=1,* delims=" %%i in (neues.txt) do ( 
06.
                      if not exist "t:\%%i" xcopy "%%i" "u:\%%~ni%%~xi" 
07.
                      ping localhost -n 20>nul 
08.
09.
 
10.
del neu*.txt
ich denke mal, das passt dann besser - und falls nicht mach den alten Biber/Bastla

01.
if not exist "t:\%%i" echo xcopy "%%i" "u:\%%~ni%%~xi" >>logfile.txt
Und schau dir das an - aber bitte schau dir for /? an - denn da kommen der ganze kryptische Buchstabensalat ursprünglich her.

Gruß
Bitte warten ..
Mitglied: peiker
21.07.2010 um 15:40 Uhr
danke, ich glaube ich habe auch noch einen kleinen fehler behoben (und hoffentlich keinen neuen eingebaut)

aus
01.
xcopy t:\quellverz\*.doc*  U:\zielverz\  /s /D /l>c:\log1.txt 
02.
find "\" "c:\log1.txt">c:\log2.txt 
03.
for /f "tokens=1,* delims=" %%i in (c:\log1.txt) do (  
04.
                      if not exist "U:\zielverz\%%~ni%%~xi" xcopy "%%i" "U:\zielverz\%%~ni%%~xi"  /d /i /f /q /y /r /c /z 
05.
                      print /D:"PDF-XChange 4.0" "U:\zielverz\%%~ni%%~xi" 
06.
                      ping localhost -n 30>nul  
07.
)  
08.
del c:\log*.txt
wird
01.
E:\Web>( 
02.
if not exist "U:\zielverz\datei.doc" xcopy "T:\quellverz\datei.doc" "U:\zielverz\datei.doc"  /d /i /f /q /y /r /c /z 
03.
 print /D:"PDF-XChange 4.0" "U:\zielverz\datei.doc" 
04.
 ping localhost -n 30  1>nul 
05.
06.
Ist das Ziel U:\zielverz\datei.doc ein Dateiname 
07.
oder ein Verzeichnisname 
08.
(D = Datei, V = Verzeichnis)?
ich habe die log1.txt zum abgleich genommen (zeile 03.), da in der log2.txt nach dem löschen der letzten zeile ("x dateien kopiert") 2 zeilen oben angefügt werden (eine leere und eine mit "------------------- log1.txt"). zeile 02. könne ich mir daher eigentlichsparen odern rem vorsetzen. zeile 05. ist bisher nur ein platzhalter. print befehl macht ja nur plain text files und keine docs... ich habe aber festgestellt, dass die verzeichnisüberwachung von meinem programm untauglich ist und ich es definitiv nicht mehr nutzen möchte, sondern einfach nur noch die word datei auf einem pdf-drucker ausgeben will (entsprechendes vbs schon gefunden und wird später angepasst). jetzt quält mich aber die abfrage ob verzeichnis oder datei ... o.0
Bitte warten ..
Mitglied: 60730
21.07.2010 um 15:46 Uhr
moin,

bitte schreib das nochmal neu - denn das raff ich nicht..
gerne mit Absatz/ Zeilentrenner.

u.a
jetzt quält mich aber die abfrage ob verzeichnis oder datei
nein - es werden doch nur *.doc* aufs Ziel kopiert....

Bitte schaue dir nicht nur for /? an - sondern auch xcopy /?
/d /i /f /q /y /r /c /z

  • ärgs * welche Wurstwarenverkäuferin hat dir denn den Ast gestrickt?
Bitte warten ..
Mitglied: peiker
21.07.2010 um 15:57 Uhr
<<nein - es werden doch nur *.doc* aufs Ziel kopiert....>>

eben, darum wundert es mich ja, weshalb die batch stehen bleibt und auf eingabe wartet. xcopy /? habe ich natürlich gelesen. /F und /Q zusammen klingen irgendwie lustig :p

sorry, was ist an meinem beitrag unverständlich? (btw bin ich wieder auf dem level, dass mir gleich der schädel platzt - ist ja nicht so, dass ich mit diesem problem allein gelassen werde, nein ich bekomme noch X andere probleme auf meinen schreibtisch...". jedenfalls ist die erste codeschnipselbox ein ausschnitt aus der batch, die zweite box ist die ausgabe, die mir in der prompt gezeigt wird, bei der zeile 06. und 07. die batch stehen bleibt und darauf wartet, dass ich D oder V drücke...
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(1)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...