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

Batch liest Informationen aus TXT und verarbeitet sie weiter

Frage Entwicklung Batch & Shell

Mitglied: Zilla99

Zilla99 (Level 1) - Jetzt verbinden

18.03.2008, aktualisiert 19.03.2008, 3781 Aufrufe, 2 Kommentare

Hallo Freunde,

Ich habe folgendes problem

Ich habe einen Stapel Papier, dieser gehört eingescannt und an ca 60 leute gemailt.

Der Stapel hat ung. 20 Kategorien und nicht jeder bekommt alles, also muss für jeden Sortiert werden und das dauert natürlich sehr lange.

Da ich in dieser Zeit den Kopierer/Scanner belege kann niemand an dem Gerät arbeiten also habe ich mir folgendes überlegt.

Nachdem ich jede Kategorie einzeln eingescannt habe und sie als, 1.pdf, 2.pdf, 3.pdf gespeichert habe, muss ich aus diesen pdf ein ganzes machen dies mach ich mit Gswin32

GhostScript/Freepdf

Danach Versende ich mit Blat / Mail programm

Die Kategorien werden eingescannt:

-Ordner Struktur-

\SCAN\SCAN
1.pdf 2.pdf 3.pdf etc...

\SCAN\SEND
Empfänger1
Empfänger2
Empfänger3
Empfänger4

SCAN\BATCH
Pdfconvert.bat

---> Pdfconvert.bat


@Echo off
C:\Scan\GSWIN\gswin32 -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=C:\Scan\SEND\Empfänger1\Example.pdf

-dBATCH C:/Scan/SCAN/1.pdf


Ich hab mir überlegt wenn man anstatt
-sOUTPUTFILE=C:\Scan\SEND\ "Empfänger1" \Example.pdf

Eine Variable einfügt, die ihm sagt nimm als erstes Empfänger1 dann Empfänger2 etc

und bei

-dBATCH C:/Scan/SCAN/1.pdf C:/Scan/SCAN/2.pdf C:/Scan/SCAN/3.pdf

anstatt C:/Scan/SCAN/1.pdf C:/Scan/SCAN/2.pdf C:/Scan/SCAN/3.pdf

auch eine Variable setzt die er sich ausliest z.b aus dem Ordner

C:\Scan\SEND\Empfänger1\Variable.txt

und in der Variable steht drin.

C:/Scan/SCAN/1.pdf C:/Scan/SCAN/5.pdf C:/Scan/SCAN/6.pdf C:/Scan/SCAN/10.pdf C:/Scan/SCAN/22.pdf

Ich weis leider nicht wie ich das Trennen kann
C:/Scan/SCAN/1.pdf 2.pdf 3.pdf geht nicht, aber ist sicher machbar

so

also ich will im eigentlichen sinne, das dass script sich den Pfad aus dem es die Pdf´s holen soll aus einer txt bezieht,
und Den pfad in dem er die zusammengefügten Pdf´s ablegen soll aus einer TXT zieht.

Dann stell ich mir vor die Txt mit einer art

HTML frontend zu bearbeiten wo ich mir kästchen reinbaue und ich anklicken kann ob Empfänger1 z.b 1.pdf 2.pdf oder 1.pdf 5.pdf bekommen soll



Phew ich hoff ich mach hier nicht allzuviel schwachsinn

würde halt richtig fix gehn wenn das alles läuft

Ich hoffe mir kann jemand erklären wie das alles mit den Variablen und so funktioniert, ich will ja nicht das hier jemand einganzes script schreibt sondern ich will das verstehen



Merci !
Mitglied: miniversum
18.03.2008 um 18:19 Uhr
Also vom Prinzipiellen ist das kein Problem.
Fangen wir mal so an.
Die jetzige Batch sieht so aus:
@Echo off
C:\Scan\GSWIN\gswin32 -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=C:\Scan\SEND\Empfänger1\Example.pdf -dBATCH C:/Scan/SCAN/1.pdf

Dann müßte man erst mal die Möglichen empfänger aus dem Verzeichnis auslesen, also anhand der Ordnernamen.
Das ginge so:
FOR /F "delims=" %%E in ('dir /b /a-d C:\SCAN\SEND') do echo %%E
damit kannst du dann die Dateien auslesen die beinhalten welche Blätter die einzelnen Empfänger bekommen sollen:
FOR /F "delims=" %%F in ('type C:\Scan\SEND\%%E\Variable.txt') do echo %%F
und diese dann zu einer Variabeln zusammensetzen die eben diese Reihenfolge enthält:
C:/Scan/SCAN/1.pdf C:/Scan/SCAN/5.pdf C:/Scan/SCAN/6.pdf C:/Scan/SCAN/10.pdf C:/Scan/SCAN/22.pdf
Das geht dan mit:
set "Dateien=%Dateien% C:/Scan/SCAN/%%F
Alles in einander verschachtelt sieht das ganze dan so aus:

@Echo off
FOR /F "delims=" %%E in ('dir /b /a-d C:\SCAN\SEND') do (
echo Empfänger %%E wird vorbereitet
FOR /F "delims=" %%F in ('type C:\Scan\SEND\%%E\Dateien.txt') do set "Dateien=Dateien C:/Scan/SCAN/%%F
C:\Scan\GSWIN\gswin32 -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=C:\Scan\SEND\%%E\Example.pdf -dBATCH %Dateien%
)

Ist jetzt halt alles ungetestet geschrieben, also bitte etst testen obs so geht wie du willst!
Wenn du blat noch dazunehmen willst kanst du das einfach vor der letzten Klammer einfügen.

Die Dateien.txt mit der Liste der Blätter für jeden Benutzer müßte dann so aussehen:
1.pdf
5.pdf
6.pdf
10.pdf
22.pdf
Und die Ordner mit den entsprechenden Empfängernamen müsten auch angelegt werden.
Willst du die lieber aus einer Datei lesen udn erstellen lassen dan ersetzte die Zeile :
FOR /F "delims=" %%E in ('dir /b /a-d C:\SCAN\SEND') do (
durch diese:
FOR /F "delims=" %%E in ('type C:\SCAN\SEND\Empf.txt') do (
md C:\SCAN\SEND\%%E

miniversum
Bitte warten ..
Mitglied: Zilla99
19.03.2008 um 10:12 Uhr
Hi oh ich teste das nacher ^^

ich habe im moment das so geregelt

01.
@echo off 
02.
 
03.
for /f "delims=" %%i in ('findstr /b "C:/" "PDF.txt"') do set "PDF=%%i" 
04.
 
05.
C:\Scan\GSWIN\gswin32 -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=C:\Scan\SEND\Complete\Extract.pdf -dBATCH %PDF%
in der PDF.txt steht halt dann

C:/Scan/SCAN/1.pdf C:/Scan/SCAN/2.pdf etc drin,
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
CMD-Batch hilfe: Dateiname zu txt (2)

Frage von Syscore64 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Batch & Shell
gelöst Vorhandene TXT per Batch aktualisieren (6)

Frage von kampen zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch eine vorhandene TXT aktualisieren (4)

Frage von kampen zum Thema Batch & Shell ...

Neue Wissensbeiträge
Entwicklung

Exploit Development

Anleitung von burhanudinn123 zum Thema Entwicklung ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(1)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
Leiten "dumme" Switches VLAN-Tags mit durch? (17)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

E-Business
Wo tragt ihr eure privaten Termine ein? (14)

Frage von honeybee zum Thema E-Business ...

Batch & Shell
Batch zum suchen und verschieben von Verknüpfungen (12)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...