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

Übung zur Lehrabschlussprüfung

Frage Entwicklung Batch & Shell

Mitglied: warismoney

warismoney (Level 1) - Jetzt verbinden

29.03.2010 um 13:38 Uhr, 7272 Aufrufe, 27 Kommentare

Die folgende Aufgabe gilt es zu lösen

Hallo Admins,

morgen habe ich meine Lehrabschlussprüfung und da kommt unter anderem auch eine kleine Batch. Ich habe ein einziges Beispiel bei dem ich nicht weiss wie ich es realisieren soll, ansonsten komm ich mit Batchprogrammierung recht gut zu gange!

"Herr Welte bekommt oft per Email Dateien mit der Endung .PRT welche er direkt zum Drucker an LPT1 senden möchte.

Dazu möchte er einfach einen Doppelklick auf die Datei machen und dann sollte die Datei gedruckt werden.

Als Bestätigung hätte er gerne dass folgende Meldung kommt: "Die Datei xxx.prt wird gedruckt".

Ich hab mir das jetzt so vergestellt dass ich im Explorer -> Ordneroptionen -> Dateitypen einfach anlege dass er .PRT Dateien mit meinem Batch öffnet, dann ist schonmal gesichert dass beim Doppelklick der Datei im Mail automatisch mein Batch gestartet wird.

Jedoch hab ich nicht so wirklich eine Idee mit welchen Befehlen ich das Batch nun umsetzen soll. Mein erster Gedanke ist einfach mit

print /d:LPT1 DATEIORT
echo Die Datei wurde an den Drucker gesendet.

Der Drucker wird bei der Benutzeranmeldung von LPT1 auf einen Netzwerkdruker umgeleitet (net use LPT1: \\druckerpfad) also sollte das dann auch klappen.
Meine jetztige Frage - wenn ich die datei dann automatisch Drucken will - was gebe ich für einen Dateiort an? Normalerweise sollte das ja irgendein Temp ordner sein. Oder muss ich hier dann mit Variabeln arbeiten wie hier:

print /d:LPT1 %fileneme%
echo Die Datei wurde an den Drucker gesendet.

Bin momentan etwas hilflos bei dem Beispiel
27 Antworten
Mitglied: Zitruslimmonade
29.03.2010 um 13:43 Uhr
nur so als kleine stichelei... was macht herr Welte wenn er sich mal eine .PRT datei ansehen möchte ? (eine viel elegantere variante hat noch eine abfrage vor dem drucken)
und zu deiner Frage...
Da du ja deine batch irgendwo hast, solltest du nicht nur die datei kennen sondern auch den speicherort. Beides muss deiner batch übergeben werden

Gruss und viel Erfolg
Chris
Bitte warten ..
Mitglied: warismoney
29.03.2010 um 13:48 Uhr
Naja das mit ansehen oder drucken könnte man mit Paramtern / Sprungbefehl machen. Würde die Prüfer bestimmt beeindrucken, ist aber erst mein Ziel wenn die Grundfunktion gegeben ist, an solchen Spielereien kann ich dann rumwerkeln wenn die Grundfunktion gegeben ist.

Die Batchdatei könnte man ins C:\Windows\System32 legen, wäre vllt. gar nicht so blöd.

Aber glaub mir, manche Beispiele bei der Prüfung ergeben keinen Sinn sondern sind einfach nur dazu da um zu testen ob wir sowas umsetzen könnten, wie ich das Batch jetzt realisieren soll weiss ich aber immer noch nicht

Danke für deinen Post!
Bitte warten ..
Mitglied: Zitruslimmonade
29.03.2010 um 13:56 Uhr
hihi,
kenn derartige aufgaben zur genüge.. aber herr Welte, da kannst sicher sein, würde verwundert drein schauen, wenn er existieren würde, wenn er sich so ein teil mal ansehen will und es gedruckt wird (vor allem die "lustigen" ppt's von seiner Sekretärin)

also, erstmal wo du die bat hin legst is voll wurscht...
wichtig ist das innerhalb der bat der pfad zur ppt und der name der ppt bekannt ist.
Schau dir erstmal an wie du das erfragen kannst.. wenn du das weist, hast du deine bat schon fertig
Bitte warten ..
Mitglied: warismoney
29.03.2010 um 14:00 Uhr
Ja ich dachte da erst an den Pfad zum Tempordner weil wenn man die Datei aus OL öffnet liegt sie ja im Temp.

C:\Dokumente&Einstellungen\Profilname\Anwendungsdaten\Temp\dateiname.PRT

NUR - im Temp heisst die Datei ja nicht so wie sie im Anhang heisst, sprich da gibt es immer irgendeine lange undeutliche Wurst.
z.B statt Dok2.doc oder Test.PRT wird dann plötzlich - aöeakdlealdfkejöadf.doc
Bitte warten ..
Mitglied: aqui
29.03.2010 um 14:26 Uhr
Was machst du denn wenn "Herr Welte" stolzer Besitzer eines Apple iMacs ist ??
Bitte warten ..
Mitglied: mrtux
29.03.2010 um 14:34 Uhr
Hi !

Zitat von warismoney:
Die Batchdatei könnte man ins C:\Windows\System32 legen, wäre vllt. gar nicht so blöd.

Untersteh dich! Das machst Du an der Prüfung nicht ! Klar?!!!
Und wehe Du machst sowas später in deinem Berufsleben, dann komme ich persönlich vorbei und nehme dir dein Prüfungsnachweis wieder ab und die Zulassung deiner Prüfer zur Prüfungskommission nehme ich auch gleich noch mit..

mrtux
Bitte warten ..
Mitglied: bankaifan
29.03.2010 um 14:40 Uhr
Hey Waris,

ich hab mir jetzt den TEMP Ordner noch nicht so genau angeschaut aber ich denke da wird dann wohl immer nur eine .ppt oder .prt oder was weiß ich drinn stehen (sollte das nicht der fall sein kannste ja noch die uhrzeit prüfen). Dann such doch einfach per findstr. noch der dateiendung .schlagmichtot und kopier sie in einen festgelegten namen wie z.b. PRTDRUCK. und diese Datei lässt du dann drucken. Dann weiß du erstens, wo die datei liegt, sie hat nen festen namen und wenn du sie dauerhaft speichern willst fügste einfach in den namen noch datum oder uhrzeit oder i-wie sowas ein.

@mrtux

Warum kommtn von dir immer Kommentare die nix mit dem Thema zu tun ham?

Ich bekomm hier jedesmal n lachkrampf wenn ich auch deine sprüche stoße...

Gruß Bankaifan
Bitte warten ..
Mitglied: mrtux
29.03.2010 um 14:44 Uhr
Hi !

Zitat von bankaifan:
@mrtux
Warum kommtn von dir immer Kommentare die nix mit dem Thema zu tun ham?

Wieso hat das nix mit dem Thema zu tun? Er hat das doch genauso geschrieben, oder? Legst Du etwa Batchfiles auch ins System32? Ja? Lernt man das jetzt so?

mrtux
Bitte warten ..
Mitglied: bankaifan
29.03.2010 um 14:47 Uhr
Nein...mach ich nicht xD...ich arbeite aber auch erst seit 2 Tagen intensiv mit Batch...Zeitvertreib auf der Arbeit. Ich hab n festen Ordner wo meine Batches liegen. Und ggf. mach ich dann noch n Batch was direkt im Zielordner liegt und dort weng arbeitet. Aber das tut jetzt wohl wirklich nix zur sache :D
Bitte warten ..
Mitglied: warismoney
29.03.2010 um 15:07 Uhr
Momentan sieht es bei mir so aus:

print /d:\\windu\LJ3005-tiefbau "C:\Dokumente und Einstellungen\dosc\Lokale Einstellungen\Temp\*.prt"

echo Datei wird gedruckt!

pause

Das ganze würde auch funktionieren, ist vom Code her auch korrekt - aber der Dateiname im TEMP ist immer ein anderer per Zufall generierter und das wird so einfach nichts, man kann dem Batch unmöglich sagen welche Datei aus dem Temp er drucken soll.

Wild, Wild!
Bitte warten ..
Mitglied: miniversum
29.03.2010 um 15:10 Uhr
Also mal gaanz langsam.
Wenn du dir mal anschaust wie die unterschiedlichen Programmaufrufe für die verschiedenen Dateitypen aussehen wirst du da z.b. sowas finden:
"C:\Program Files\Microsoft Office\OFFICE11\POWERPNT.EXE" "%1"
Das %1 stell dabei den Dateinamen dar. Die " davon und dahinter sind wichtig wenn Leerzeichen im Pfad und Dateinamen vorhanden sind. Das kannst du also so übernehmen. Der Speicherort der Batch ist dann egal.
Der aufruf sieht dann also z.b. so aus:
"C:\Batches\Prt drucken.bat" "%1"
Innerhalb der Batch kannst du dann den Dateinamen mit %1 abrufenwobei es da geschickt ist den mit "%~1" weiter zu verarbeiten.
Das kannst du dann mal testen indem du in deine Batch einfach nur folgende Zeile schreibst:
@echo Drucke: "%~1" & pause

Weitere Hilfe bekomsmt du indem du die cmd startest und dort die Hilfe zum set Befehl und den letzten teil zum For Befehl anschaust (set /? und for /? eingeben.

Sollte Herr Welte übrigens einen Vista oder Windows 7 PC haben funktionier das übrigens nicht ganz mit Explorer -> Ordneroptionen -> Dateitypen
Bitte warten ..
Mitglied: Zitruslimmonade
29.03.2010 um 15:19 Uhr
du (Böse)Wicht ,
der lern effekt is weg...
Und ich geh ja immernoch davon aus das Herr Welte nen MAC hat und ihm ganz schwindelig wird von dem ganzen batch krams
Bitte warten ..
Mitglied: Zitruslimmonade
29.03.2010 um 15:20 Uhr
@mrtux Deine Anmerkung fand ich treffend... und muss mich korrigieren, wo er seine bat hinlegt ist natürlich nicht so ganz wurscht
Bitte warten ..
Mitglied: warismoney
29.03.2010 um 15:29 Uhr
Also Batch Profi bin ich eindeutig keiner. Die paar Beispiele zuvor sind nicht so wirklich das Problem aber der Herr Welte wills jetzt wirklich wissen ^^


Meine Batch sieht so aus (edit - jetzt funktioniert es auch):

@echo off

print /d:\\windu\LJ3005-tiefbau "%1" >> C:\lokal\log.txt

echo Drucke ""%1"" >> C:\lokal\log.txt

pause


Unter Dateiendungen hab ich .PRT angelegt und die PRT Dateien werden mit meiner Batch (Die im System32 liegt) geöffnet.

Und bekommen tu ich diesen Fehler:


Datei C:\Dokumente wurde nicht gefunden.
Datei und wurde nicht gefunden.
Datei Einstellungen\dosc\Lokale wurde nicht gefunden.
Datei Einstellungen\Temporary wurde nicht gefunden.
Datei Internet wurde nicht gefunden.
Datei Files\OLK8D9\test.prt wurde nicht gefunden.
Drucke ""C:\Dokumente und Einstellungen\dosc\Lokale Einstellungen\Temporary Internet Files\OLK8D9\test.prt""


Dabei wird alles (in diesem Fall die Fehlermeldung xD) in die Logfile im C lokal gelogt.
Bitte warten ..
Mitglied: Zitruslimmonade
29.03.2010 um 15:32 Uhr
!!! leerzeichen in Dos umgebung... !!!
Bitte warten ..
Mitglied: bankaifan
29.03.2010 um 15:37 Uhr
Yaya immer diese Bösen Leerzeichen.

Bedenke das er nach jedem Leerschritt denkt es folgt der Dateiname.
Bitte warten ..
Mitglied: Zitruslimmonade
29.03.2010 um 15:41 Uhr
grr... Habt ihr alle keinen Lehr - Auftrag ?
Bitte warten ..
Mitglied: bankaifan
29.03.2010 um 15:45 Uhr
Was meinst du mit Lehr-Auftrag?
Bitte warten ..
Mitglied: Zitruslimmonade
29.03.2010 um 15:54 Uhr
Ich hätt ihn gern selber die lösung der Anführungszeichen finden lassen.. wenn er morgen seine Prüfung hat, muss das sitzen... und wenn nich von Haus aus, dann zumindest bei dem Fehler.. Ihm da zu sagen was er machen soll is wenig hilfreich. Zumindest war das bei mir so...
Und Lehr-Auftrag daher... weil man in Bildungseinrichtungen einen Lehr- oder Bildungsauftrag hat... der dazu anhält Schülern die Dinge beizubringen, und durch Erarbeitung des Problems geht das am schnellsten. aber wurscht.. vergiss den Kommentar, will ja nich wieder wilde Beschimpfungen provozieren
Bitte warten ..
Mitglied: warismoney
29.03.2010 um 15:59 Uhr
Mein Chef hätte es mir ganz sicher beigebracht. Nur der hatte einen Skiunfall und ist jetzt schon seit über einem Monat außer Gefecht.
Ist doch irgendwie auch gut wenn der Lehrling das selbstständig schafft bzw. mit seinen zur Vergügung stehenden Hilfsmittel (wie z.B dieses Forum).

Die Schule - naja das ist so ein Ding, ich hatte alles einsen und dennoch war die Bildung dort eher dürftig und man ist mehr auf sich selbst angewiesen als auf die Schule

Und mal ehrlich, so einen praktischen Fall wie den von Herr Welte hatten wir noch nie
Bitte warten ..
Mitglied: bankaifan
29.03.2010 um 15:59 Uhr
Du hast recht Ich habs mal weggenommen...wenns ers schon gelesen hat dann muss wenigstens der nächste noch denken... naja...ich bekomm hier ned wirklich lehraufträge...ich bring mir eigentlich alles selbst bei und klar...da lernt man es am schnellsten...aber wenn ich ... weiß ned ob du schonmal mit PL/1 programmiert hast...für mich ne ziemlich nervige programmiersprache... naja...wenn man jetzt 1,5 Arbeitstage am gleichen Problem rätselt dann wird das schon nervig wenn man dann doch wieder nur so n "denkansporn" bekommt^^
Bitte warten ..
Mitglied: warismoney
29.03.2010 um 16:03 Uhr
Danke Leute, jetzt hat es wirklich geklappt die Datei auszudrucken. Gut dass der liebe Herr Welte kein Interesse an iMAC Computern hat :-P
Ich werd das Ding morgen schon schaukeln, da hab ich eigentlich gar keine Sorge mehr und danke euch bin ich jetzt im Batch auch ein kleines Stückchen sicherer!
Bitte warten ..
Mitglied: Zitruslimmonade
29.03.2010 um 16:04 Uhr
Versteh ich völligst... Ist auch denk ich was anderes als wenn Ihmsen morgen ne Prüfung hat und darüber nich stolpern darf... Da muss ihm dann zumindest der Fehler was sagen...
aber sein wir ehrlich... Manchmal ist man Betriebsblind...
Bitte warten ..
Mitglied: Zitruslimmonade
29.03.2010 um 16:08 Uhr
Na dann viel Erfolg beim patschen ...
Immer schön lesen was da steht und nix rein interpretieren (das wahr mein Fehler...)
Ach und sollte folgende Frage kommen:
"In ihrer Abteilung bricht am Rechner Ihres Kollegens ein Feuer aus, wie gehen Sie vor ?"
Antwort:
"Nachdem ich mich vergewissert habe, das sich Mein Kollege nicht verwundet und am Arbeitsplatz befindet. Bewege ich mich ruhig zum nächsten Ausgang und stelle sicher, das der Alarm ausgelöst wurde."

Nichts mit löschen, leben retten oder son kram.
Bitte warten ..
Mitglied: bankaifan
29.03.2010 um 16:08 Uhr
Das ist man bei Computern sowieso viel zu oft Vor allem so kleinigkeiten wie einfach mal n Semikolon vergessen oder eben Anführungszeichen. Da kann wohl jeder n Liedchen von singen

@warismoney Das ist doch super, dann wünsch ich dir auch gleich mal viel Glück morgen bei deiner Prüfung
Bitte warten ..
Mitglied: Zitruslimmonade
29.03.2010 um 16:14 Uhr
mein favorit... Klammern oder beim "=" und "=="
Bitte warten ..
Mitglied: Xpl0iT
08.04.2010 um 15:53 Uhr
01.
@echo off 
02.
type %1 > LPT1 
03.
echo Die Datei wird gedruckt 
04.
pause
Explorer -> Ordneroptionen -> Dateitypen *.PRT mit start.bat verknüfpen .. :D


€dit... ups wie bin ich jetzt in den alten thread reingekommen ...... peinlich
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

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

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...