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

Datei (Rechnungskopie) über Batch suchen und öffnen

Frage Entwicklung Batch & Shell

Mitglied: Valentine

Valentine (Level 1) - Jetzt verbinden

15.07.2008, aktualisiert 16:27 Uhr, 5988 Aufrufe, 10 Kommentare

Liebe Experten/-innen,

ich habe ein kleines Problem:

Unsere Rechnungskopien liegen haben folgende Bezeichnung:
zB: frei_R061007895.pdf -für freie Fakturierung
zB: stm_R081007895.pdf -für Standmietenfakturierung

Die Rechnungen aller Jahre werden wie folgt archiviert:
\\S20\Rechnungen\ -aktuelle Rechnungen
\\S20\Rechnungen\2006\ -Rechnungen 2006
\\S20\Rechnungen\2005\ -Rechnungen 2005
\\S20\Rechnungen\2004\ -Rechnungen 2004

Bei der Funktion Beleganzeige wird von unserer Buchhaltungssoftware
folgende Befehlszeile ausgeführt: (Hierauf bin ich besonders stolz

C:\adobe.bat "\\S20\Rechnungen\*$RECHNR$.pdf"

Folgende Befehlszeile wird dann von der Batch verarbeitet:
ADOBE.BAT
"C:\Programme\Adobe\Acrobat 8.0\Acrobat\acrobat.exe" %1

Die Variable $RECHNR$ wird zB mit R081007895 gefüllt. Die
Vorbezeichnung stm_ oder frei_ ist im Buchhaltungssystem nicht
bekannt und kann daher nicht übergeben werden. Wir haben dies mit dem
Platzhalter * gelöst.

Hier nun mein Problem:
Die von mir erfundene Variante öffnet nur Rechnungen des aktuellen
Jahres slso nur Rechnungen die im verzeichnis "\\S20\Rechnungen\"
liegen. Ältere Rechnungen werden nicht geöffnet.

Ich habe mir den Ablauf der Batch wie folgt vorgestellt, scheitere
aber leider an der Umsetzung mangels Erfahrung:

- Also, die Buchhaltungssoftware übergibt die Rechnungsnummer an eine
Batch.
- Diese Batch sucht die Rechnung in allen Verzeichnissen und
speichert das Ergebnis in einer Variable.
- Diese Variable wird dann zum öffnen der Datei verwendet.

Wäre dies denkbar?

Für einen Lösungsansatz wäre ich Ihnen sehr dankbar. Gern würde ich
mich hierfür auch durch ein kleines Geschenk erkenntlich zeigen.

Liebe Grüße

Deja (1. Frau am PC in dieser Firma)
Mitglied: 60730
15.07.2008 um 14:34 Uhr
Servus und willkommen

Probier das mal aus

01.
@set "akt=%date:~-4%" 
02.
@title Bitte das Jahr eingeben 
03.
@set jahr= 
04.
@set /p "jahr=jahr" 
05.
@title Rechnungsnummer: 
06.
@set /p "RGNR=RGNR" 
07.
@if %jahr%==%akt% ( 
08.
	set "kplt=\\S20\Rechnungen\" 
09.
	) else ( 
10.
	set "kplt=\\S20\Rechnungen\%Jahr%\-Rechnungen %Jahr%\" 
11.
12.
@ start "C:\Programme\Adobe\Acrobat 8.0\Acrobat\acrobat.exe" "%kplt%\%RGNR%.pdf"
Gruß
Bitte warten ..
Mitglied: Valentine
15.07.2008 um 15:19 Uhr
Also, das ist ja ein guter Ansatz, allerdings sollte es ohne eingabe funktionieren. Also alles automatisch. Es ist sehr unkomfortabel, wenn man Kunden am Telefon hat, und erst minutenlang rumtippeln muss bis man die Rechnungskopie sieht.

Also, ich habs nochmal modifiziert, aber jetzt funktioniert es nicht mehr ... ok, fehler gefunden, ")" hat gefehlt. Bin ich blond
01.
set "akt=%date:~-4%" 
02.
title Bitte das Jahr eingeben 
03.
set jahr= 
04.
set /p "jahr=jahr" 
05.
title Rechnungsnummer: 
06.
set /p "RGNR=RGNR" 
07.
if %jahr%==%akt% ( 
08.
	set "kplt=\\S20\Rechnungen" 
09.
	) else ( 
10.
	set "kplt=\\S20\Rechnungen\%Jahr%" 
11.
12.
start "C:\Programme\Adobe\Acrobat 8.0\Acrobat\acrobat.exe" "%kplt%\*%RGNR%.pdf"

Evtl. kann man das auch die dritte stelle der Rechnungsnummer nehmen. Die gibt ja immer das Jahr an ... und man löst es über ne goto funktion?
Also, alle Rechnungen bauen sich nach folgendem Schema auf:
R06 =Rechnung aus 2006
G06 =Gutschrift aus 2006
R07 =Rechnung aus 2007
G07 =Gutschrift aus 2007

Ich bin leider so ein noob in sachen batch ... sorry ... bin so froh das ich hier Hilfe bekomme.
Bitte warten ..
Mitglied: 60730
15.07.2008 um 15:29 Uhr
Evtl. kann man das auch die dritte stelle der Rechnungsnummer nehmen. Die gibt ja immer das Jahr an ...

*upps* sorry - es ist hier allgemein bekannt - das ich ein Problem damit habe - bis 3 zu zählen
zB: frei_R061007895.pdf -für freie Fakturierung
zB: stm_R081007895.pdf -für Standmietenfakturierung

du meinst die beiden Stellen nach R?

Drösel das doch mal genau auf

(Also - sind die Rechnungsnummern immer 10 stellig oder nur in dem Beispiel?)

Von "Vorne" kann das nicht gehen (frei hat 2+2 also 4 Stellen)/ (stm 2+1 also 3 Stellen) plus jeweils das_
Bitte warten ..
Mitglied: Valentine
15.07.2008 um 15:39 Uhr
Also, die Rechnungsnummer wird von der Fibu-Software ohne stm_ und ohne frei_ übergeben

Achso, hehe!

Also, die Rechnungsnummer wird ja über %1 in unserer derzeitigen Batch eingegeben und kommt ja aus der Buchhaltungssoftware ...

Aufbau der Rechnungen und Gutschriftsnummern in der Buchhaltungssoftware ist wie folgt:

R061007345 =Rechnung aus 2006
G061007345 =Gutschrift aus 2006
R071007345 =Rechnung aus 2007
G071007345 =Gutschrift aus 2007

1. Stelle = "R" oder "G" für Rechnung oder Gutschrift
2. u 3. Stelle = "6" oder "7" usw. für das Jahr 2006 oder 2007 usw.
ab der 4. Stelle wirds uninteressant ...

Im Filesystem legt unsere Fakturierung die dateien wie folgt ab:

stm_R061007345.pdf =Rechnung aus 2006
frei_G061007345.pdf =Gutschrift aus 2006
frei_R071007345.pdf =Rechnung aus 2007
stm_G071007345.pdf =Gutschrift aus 2007

Da unser Buchhaltungssystem nicht weis ob es eine "stm_" oder eine "frei_" PDF ist, wollten wir dies mit einem "*" als Platzhalter lösen ...

ich dachte mir das jetzt so, da ja die Rechnungsnummer über %1 weitergegeben wird an die Batch und folgendes format hat "R061007345" könnte man anhand der dritten Stelle feststellen aus welchem Jahr die Rechnung ist.
Dann evtl. über ein GOTO die Richtige Pfadangabe wählt um die Rechnung mit Acrobat zu öffnen ...
Bitte warten ..
Mitglied: bastla
15.07.2008 um 15:55 Uhr
Hallo Valentine und TimoBeil!

Wenn die Rechnung immer irgendwo unterhalb des Basispfades "\\S20\Rechnungen\" liegen muss und ja ohnehin durch die Nummer eindeutig zu identifizieren ist, sollte es eigentlich so gehen:
01.
for /f "delims=" %%i in ('dir /s /b /a-d "%~1"') do "C:\Programme\Adobe\Acrobat 8.0\Acrobat\acrobat.exe" "%%i"
Grüße
bastla
Bitte warten ..
Mitglied: Valentine
15.07.2008 um 16:02 Uhr
das klingt auch sehr gut.

ich müsste dann vom Fibu folgende Befehlszeile übergeben lassen:
C:\adobe.bat "*$RECHNR$.pdf"

Aber wo ist die Verknüpfung zu //s20/Rechnungen/ ??

und was bedeutet "delims" ??

Liebe Grüße

Valentine
Bitte warten ..
Mitglied: 60730
15.07.2008 um 16:03 Uhr
Servus,

die Zeile von Bastla ist die "neue" Adobe.bat auf c:\

oder dreh ich jetzt komplett am Rad?

Du schreibst nun auch das zweite mal - > C:\adobe.bat "*$RECHNR$.pdf" - wirklich so oder C:\adobe.bat "*%RECHNR%.pdf" ??
@ Bastla:
Schleifenkönig
Bitte warten ..
Mitglied: Valentine
15.07.2008 um 16:08 Uhr
Also, ich kann nur den Platzhalter $RECHNR$ verwenden, da es nur diesen Platzhalter gibt in der blöden FIBU-Software, daher folgende Zeile:

C:\adobe.bat "*$RECHNR$.pdf"

Füllt in der Adobe.bat auf C:\ die Variable %1 mit der Rechnungsnummer zB R061007324

und delim bedeutet nix mit löschen? Sonst werde ich geköpft ...
Bitte warten ..
Mitglied: bastla
15.07.2008 um 16:12 Uhr
@Valentine
Wie TimoBeil schon angemerkt hat, wäre mein Vorschlag nur als Ersatz der bisherigen "adobe.bat" gemeint - am Aufruf mit "C:\adobe.bat "\\S20\Rechnungen\*$RECHNR$.pdf" soll sich nichts ändern (da Du ja auch so stolz drauf bist ).
"delims" ist so lange nicht nötig, wie es im Pfad bzw Dateinamen keine Leerzeichen gibt, schadet aber auch nicht ...

@TimoBeil
Danke - sieht zwar mehr nach Prinzessin als nach König aus, freut aber ganz sicher meine Tochter.

Grüße
bastla
Bitte warten ..
Mitglied: Valentine
15.07.2008 um 16:27 Uhr
Einen gaaaaaaaaanz dicken Schmatzer an die beiden Supermänner die mir den Tag versüßten!

Wenn ihr mir irgendwie eure Adress zukommen lasst, dann würde ich euch gerne 2 Freikarten für die Frankfurter Buchmesse zukommen lassen oder nen Kaffeepot ...

Liebe Grüße

Valentine
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Netzwerkmanagement
gelöst Batch Datei auf anderem PC öffnen (35)

Frage von Flodsche zum Thema Netzwerkmanagement ...

Batch & Shell
Neuere Datei per Batch ausfinding machen (2)

Frage von chattie zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch, SFTP öffnen (4)

Frage von Doppellhelix zum Thema Batch & Shell ...

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

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...