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

Per Batch Benutzer-Homeverzeichnis für PDF-Drucker auslesen und in Variable speichern

Frage Entwicklung Batch & Shell

Mitglied: diemilz

diemilz (Level 1) - Jetzt verbinden

10.09.2009, aktualisiert 18.10.2012, 7451 Aufrufe, 29 Kommentare

Ich habe bei uns einen PDF-Drucker im Netzwerk eingerichtet (basierend auf dem Eintrag unter http://www.administrator.de/index.php?content=115210), allerdings sollen die Dateien ins Homeverzeichnis des Benutzers reinkopiert werden.

Servus,

ich hät da gern mal ein Problem. Ich bin anscheinend zu blöd fürs Skripting oder was weiß ich und brauche dabei Hilfe. Ich habe einen Ghostscript PDF-Drucker bei uns im Netz eingerichtet und für zwei Kategorien eingerichtet, Lehrer und Schüler. Die erstellten PDF-Dokumente sollen ins Homeverzeichnis in den Unterordner "PDF" des zu druckenden Users reinkopiert werden. Bei den Lehrern ist es ganz einfach, da deren Homeverzeichnisse unter einem Verzeichnis liegen, nämlich D:\Daten\Lehrer\Home. Bei den Schülern ist es komplexer, da die in Klassen aufgeteilt sind und die Daten dementsprechend verteilt sind, z.B. D:\Daten\Schueler\Home\Klasse1, D:\Daten\Schueler\Home\Klasse2, D:\Daten\Schueler\Home\Klasse3... und darunter befinden sich die Home-Verzeichnisse der jeweiligen Schüler. Der Drucker arbeitet im Hintergrund mit einen Batchscript. Ich lege mal unsere Fassung der Lehrer mit bei.

01.
set USER=%REDMON_USER% 
02.
set TITLE=%REDMON_DOCNAME:/=_% 
03.
set TITLE=%TITLE:\=_% 
04.
set TITLE=%TITLE::=_% 
05.
if not exist d:\Daten\Lehrer\Home\%user%\PDF mkdir d:\Daten\Lehrer\Home\%user%\PDF 
06.
c:\Programme\gs\gs8.64\bin\gswin32c.exe -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dNOSAFER -dAutoRotatePages=/PageByPage -dPDFSETTINGS=/prepress -dCompatibilityLevel=1.4 -sOutputFile="%1.pdf" %1 
07.
set filename=%DATE:~6,4%_%DATE:~3,2%_%DATE:~0,2%-%user%_%random% 
08.
move %1.pdf d:\daten\lehrer\home\%user%\PDF\%filename%.pdf
Weiß jemand, wie ich das lösen kann? Ich wäre für jede Hilfe dankbar. Mein Ansatz war, mit dem Befehl
01.
dir D:\Daten\Schüler\Home /s /b /a:d | find "//Name des Benutzers//"
das Verzeichnis auszulesen und in einer Variable zu speichern, aber das dauert ewig lange, bis er da etwas gefunden hat. Außerdem kriege ich es nicht gebacken, diese Ausgabe in eine Variable zu speichern.
29 Antworten
Mitglied: 81825
10.09.2009 um 13:17 Uhr
Hallo,

kannst du die Umgebungsvariablen des Users

LOGONSERVER
HOMEDRIVE
HOMEPATH
USERNAME

nicht benutzen?
Bitte warten ..
Mitglied: diemilz
10.09.2009 um 13:57 Uhr
Das habe ich schon probiert. Das Druckerskript wird auf dem Server ausgeführt. Ich habe das schon probiert, aber die Datei wird nicht verschoben. Das Programm "redrun", was dazu benutzt wird, die PDF-Erstellung zu initiieren, bringt einen Stapel eigene Variablen mit, aber nicht die Gruppenzugehörigkeit. Meine Idee ist es, im Skript selbst die Gruppenzugehörigkeit des Benutzers (Variable %REDMON_USER%) herauszukriegen und dann die Datei in den entsprechenden Pfad zu verschieben. Aber wie kriege ich das raus?
Bitte warten ..
Mitglied: 81825
10.09.2009 um 14:14 Uhr
Tut mir leid, ich kenne weder das Programm noch bin ich firm in Server-Strukturen.

Aber für dein Script hätte ich eine etwas beschleunigte Lösung:

01.
chcp 1252 
02.
pushd R:\Daten\Schüler\Home{\und evtl noch die Klasse} 
03.
for /F %%a in ('dir /ad /b  ^|find /i "Name des Benutzers"') do set "wasweissich=%%a"  
04.
popd 
05.
chcp 850
In der Variablen wasweissich sollte dann der gewünschte Name stehen, wenn er denn gefunden wurde.

Die Codepage musst du wegen der Umlaute wechseln, wenn du das Script mit Notepad oder einem anderen Editor schreibst.
Wenn du dafür edit.com nutzt, kannst du die chcp weglassen.

Nur zur Info: dir /B fängt in Verbindung mit dem Parameter /S im Root des Laufwerks an, auch ohne die nicht gewünschten Ergebnisse anzuzeigen. Deshalb dauert das auch entsprechend lange. Wenn du in das zu durchsuchende Verzeichnis wechselst, kannst du nur /b verwenden und /S weglassen.

Edit 21:15 Uhr Fehlerhafte Zeile korrigiert.
Bitte warten ..
Mitglied: 60730
10.09.2009 um 14:19 Uhr
Servus,

bevor ich dir einen Tipp gebe- den du eigentlich suchst...

Mir scheint es etwas komplex und nicht ganz banal zu sein...

Bleibt ein Schüler sitzen, dann mußt du dessen Klasse ja auch irgendwo ändern.

Von daher würde ich eine textdatei auf dem Server hinterlegen, wo:

klasse1 Hans.Dampf
klasse2 Lisa.Loch
drinsteht und diese .txt dann auswerten...

Das hilft dir dann nicht nur für dieses Problem weiter...

Gruß
Bitte warten ..
Mitglied: St-Andreas
10.09.2009 um 14:28 Uhr
Hallo,

versteh ich das richtig, das Script wird nicht im jeweiligen Benutzerkontext ausgeführt? Und das homeverzeichnis des entsprechenden Benutzers wird wo genau definiert (vermute mal im AD?)?

Falls dem so wäre, wäre mein Ansatz einfach das HomeDir des Benutzers aus dem AD auszulesen....
Bitte warten ..
Mitglied: 81825
10.09.2009 um 14:38 Uhr
Guten Morgen. Guck man nach weiter oben.
Bitte warten ..
Mitglied: diemilz
10.09.2009 um 14:41 Uhr
Das Home-Verzeichnis zieht der Server sich wahrscheinlich aus der Variable %homeshare%, welches wiederum im Active Directory als Basisordner festgelegt ist.

Als Programm verwende ich FreePDF XP zusammen mit der aktuellsten Ghostskript-Version und einem angepassten Skript (siehe oben) unter http://freepdfxp.de/fpxpfaq/Netzwerkdrucker.htm.

Dass bei Schülern, die sitzenbleiben, die Klasse geändert werden muss, weiß ich. Deshalb wäre es mir ja am liebsten, entweder den Ordner zu suchen (der wird ja bei jedem neu erstellten PDF durchsucht) oder aber den Basisordner aus dem Active-Directory zu benutzen. Die Frage ist, wie lese ich den Basisordner per Batch aus?

Das mit der einfachen Skript-Variante werde ich mal probieren, aber was bedeuten dabei "popd" und "pushd"?
Bitte warten ..
Mitglied: 81825
10.09.2009 um 14:45 Uhr
Die Frage nach der Bedeutung beantwortet dir umfassend die entsprechende Hilfe zu jedem Befehl in der Eingabeaufforderung.
help befehl
oder
befehl /?
Bitte warten ..
Mitglied: St-Andreas
10.09.2009 um 18:53 Uhr
Du weisst aber schon, dass wenn das Skript nicht im Benutzerkontext ausgeführt wird die von Dir erwähnten Variablen nicht dahin zeigen wohin sie sollten?

Bitte warten ..
Mitglied: diemilz
10.09.2009 um 19:02 Uhr
Richtig. Deshalb bleiben mir nur die zwei Möglichkeiten, entweder über die Gruppenmitgliedschaft oder über das Suchen von Verzeichnissen. Ersteres ist mir lieber, weil die Erstellung dann relativ schnell abgeht, aber ich weiß nicht, wie ich das umsetzen kann. Deshalb bleibt mir nur das Suchen der entsprechenden Verzeichnisse.
Bitte warten ..
Mitglied: 81825
10.09.2009 um 20:27 Uhr
@andreas#S
Ja, weiß ich. Trotzdem wurde die Frage schon gestellt und beantwortet.
Bitte warten ..
Mitglied: St-Andreas
10.09.2009 um 20:36 Uhr
ifmember.exe ist dann Dein Freund, bzw. ich würde einfach die passenden Attribute aus dem AD auslesen lassen.
Mache das nicht allzu häufig, daher kann ich da jetzt nichts genaueres zu sagen ich kann aber mal www.selfadsi.de empfehlen..

@81825
Könnte sein das meine Leitung im Augenblick noch länger ist als ohnehin üblich ... hab zuviel Freizeit....
Bitte warten ..
Mitglied: 60730
10.09.2009 um 20:41 Uhr
Zitat von 81825:
Guten Morgen. Guck man nach weiter oben.

Yupp
05. if not exist d:\Daten\Lehrer\Home\%user%\PDF mkdir d:\Daten\Lehrer\Home\%user%\PDF

mit dieser Zeile wird immer ein Verzeichnis d:\Daten\Lehrer\Home\%user%\PDF erstellt - egal ob das nun ein Lehrer oder Schüler ist.

Von daher müßte man den ganzen Kladderadatsch eh etwas neu schreiben.

Immer frei nach dem Motto - einer (Script) für alle (Fälle)

05. if exist d:\Daten\Lehrer\Home\%user% if not exist d:\Daten\Lehrer\Home\%user%\PDF mkdir d:\Daten\Lehrer\Home\%user%\PDF
wäre schonmal ein Anfang

So mein Kindlein muß nun gewickelt werden..

Gruß
Bitte warten ..
Mitglied: St-Andreas
10.09.2009 um 20:45 Uhr
Na klasse! Das Geschrei von Deinem hat offenbar meines geweckt!!!
Bitte warten ..
Mitglied: 81825
10.09.2009 um 20:52 Uhr
*ROFL*
Bitte warten ..
Mitglied: 81825
10.09.2009 um 20:56 Uhr
Der Scriptschnipsel, den dich dir gepostet hatte, hat leider einen Fehler: Er funktioniert nur, wenn der gesuchte Benutzername auch als Verzeichnis existiert.

Nimm lieber den:

01.
set wasweissich= 
02.
chcp 1252 
03.
pushd R:\Daten\Schüler\Home{\und evtl noch die Klasse}  
04.
for /F %%a in ('dir /ad /b  ^|find /i "Name des Benutzers"') do set "wasweissich=%%a" 
05.
popd 
06.
chcp 850
Bitte warten ..
Mitglied: diemilz
10.09.2009 um 22:11 Uhr
Das ist zwar korrekt, aber nicht das was ich suche. Das Skript von mir oben ist die Fassung für die Lehrer. Die funktioniert so einwandfrei, eben weil alle Home-Verzeichnisse der Lehrer unter D:\Daten\Lehrer\Home liegen. Die Home-Verzeichnisse der Schüler liegen unter D:\Daten\Schüler\Home\< ;Klassenname>\< ;Benutzername> und da kann ich das Skript nun mal nicht verwenden. Die Lösung mit der For-Schleife scheint dabei wohl am ehesten zu funktionieren. Das werde ich morgen gleich mal austesten.
Bitte warten ..
Mitglied: diemilz
10.09.2009 um 22:12 Uhr
Das werde ich morgen gleich mal checken, das sieht doch gut aus. Vielen Dank schonmal, ich melde mich, sobald es funktioniert (oder auch nicht ;) ).
Bitte warten ..
Mitglied: 60730
10.09.2009 um 22:36 Uhr
Zitat von St-Andreas:
Na klasse! Das Geschrei von Deinem hat offenbar meines geweckt!!!

Mein Kindlein schreit nicht - es kräht (noch)

Zitat von diemilz:
Das ist zwar korrekt, aber nicht das was ich suche.
sorry, aber wenn ich lese - du brauchst Hilfe beim scripten - dann ist der Tipp ein Script für alle schon das, was du brauchst - egal ob du nun danach gesucht hast - oder nicht.

Das Skript von mir oben ist die Fassung für die Lehrer. Die funktioniert so
einwandfrei, eben weil alle Home-Verzeichnisse der Lehrer unter
D:\Daten\Lehrer\Home liegen. Die Home-Verzeichnisse der Schüler
liegen unter
D:\Daten\Schüler\Home\< ;Klassenname>\< ;Benutzername>
und da kann ich das Skript nun mal nicht verwenden.

ok -nochmal und wirklich sehe das als konstruktive Kritik...

Du hast eine Struktur:

  • "Schüler" mit umlauten
  • darunter dann Klassen
  • darin die einzelnen Schüler....

Also mußt du am Ende des Schuljahres..

  • - alle Schüler im Ordner \schüler\klasse10a löschen - oder den Ordner komplett
  • - alle Schüler aus Klasse 9a in Ordner 10a verschieben - oder den Ordner umbenamsen
  • - das gleiche für alle Klassen - von oben (10) nach unten (5)

Wenn es keinen dringenden Grund gibt, die Schüler in Klassen auf dem Home zusammenzufassen, würde ich mir das nicht antun wollen.
Da sind Fehler ja vorprogrammiert.

Die Lösung mit der For-Schleife scheint dabei wohl am ehesten zu funktionieren.
Die Frage ist wirklich - macht der ganze Towuhabohu mit den Klassen wirklich Sinn?

Gruß
Bitte warten ..
Mitglied: diemilz
11.09.2009 um 07:47 Uhr
Es hat leider nicht funktioniert. Ich habe auch ein Protokoll erstellen lassen während des Drucks, aber auch das ist ohne Fehler. Langsam verzweifel ich an meinem Verstand. Oder wisst ihr, wo der Fehler im Skript liegt?

01.
set USER=%REDMON_USER% 
02.
set TITLE=%REDMON_DOCNAME:/=_% 
03.
set TITLE=%TITLE:\=_% 
04.
set TITLE=%TITLE::=_% 
05.
set pdfpath= 
06.
 
07.
c:\Programme\gs\gs8.64\bin\gswin32c.exe -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dNOSAFER -dAutoRotatePages=/PageByPage -dPDFSETTINGS=/prepress -dCompatibilityLevel=1.4 -sOutputFile="%1.pdf" %1 
08.
set filename=%DATE:~6,4%_%DATE:~3,2%_%DATE:~0,2%-%time:~0,2%_%time:~3,2% 
09.
chcp 1252 
10.
pushd D:\Daten\Schueler\Home 
11.
for /f %%a in ('dir /a:d /b ^|find /i %REDMON_USER%') do set "pdfpath=%%a" 
12.
popd 
13.
chcp 850 
14.
if not exist %pdfpath%\PDF mkdir %pdfpath%\PDF 
15.
move %1.pdf %pdfpath%\PDF\%filename%.pdf
Bitte warten ..
Mitglied: diemilz
11.09.2009 um 08:14 Uhr
Hab den Fehler selbst gefunden, ich hatte beim dir-Befehl den Parameter /s vergessen. Jetzt legt er brav das Verzeichnis an, aber ich habe noch ein kleines Problem. Die For-Schleife legt die Variable dreimal neu an, bis sie zum Schluss so aussieht:
D:\Daten\Schüler\Home\<Klassenname>\<Schülername>\PDF\PDF

Unterm Strich legt er jedes Mal bei der Erstellung einer PDF-Datei erstmal einen neuen Unterordner "PDF" im Schülerordner an. Drucke ich also 10 PDFs, dann sieht der Pfad am Schluss so aus: D:\Daten\Schueler\Home\<Klassenname>\<Schülername>\PDF\PDF\PDF\PDF\PDF\PDF\PDF\PDF\PDF\PDF.

Hier mal das aktuellste Protokoll. Das Skript ist das Gleiche wie oben, nur mit dem Parameter /s im Dir-Befehl und mit einer modifizierten Filename-Variable.

01.
C:\Windows\system32>set USER=test_it2008  
02.
 
03.
C:\Windows\system32>set TITLE=Testseite  
04.
 
05.
C:\Windows\system32>set TITLE=Testseite  
06.
 
07.
C:\Windows\system32>set TITLE=Testseite  
08.
 
09.
C:\Windows\system32>set pdfpath=  
10.
 
11.
C:\Windows\system32>c:\Programme\gs\gs8.64\bin\gswin32c.exe -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dNOSAFER -dAutoRotatePages=/PageByPage -dPDFSETTINGS=/prepress -dCompatibilityLevel=1.4 -sOutputFile=""c:\windows\temp\reda17480".pdf" "c:\windows\temp\reda17480"  
12.
%%[ ProductName: GPL Ghostscript ]%% 
13.
%%[Page: 1]%% 
14.
%%[LastPage]%% 
15.
 
16.
C:\Windows\system32>set filename=2009_09_11-test_it2008_32071  
17.
 
18.
C:\Windows\system32>chcp 1252  
19.
Aktive Codepage: 1252. 
20.
 
21.
C:\Windows\system32>pushd D:\Daten\Schueler\Home  
22.
 
23.
D:\Daten\Schueler\home>for /F %a in ('dir /a:d /s /b | find /i "test_it2008"') do set "pdfpath=%a"  
24.
 
25.
D:\Daten\Schueler\home>set "pdfpath=D:\Daten\Schueler\home\IT2008\test_it2008"  
26.
 
27.
D:\Daten\Schueler\home>set "pdfpath=D:\Daten\Schueler\home\IT2008\test_it2008\PDF"  
28.
 
29.
D:\Daten\Schueler\home>set "pdfpath=D:\Daten\Schueler\home\IT2008\test_it2008\PDF\PDF"  
30.
 
31.
D:\Daten\Schueler\home>popd 
32.
 
33.
C:\Windows\System32>chcp 850  
34.
Aktive Codepage: 850. 
35.
 
36.
C:\Windows\System32>if not exist D:\Daten\Schueler\home\IT2008\test_it2008\PDF\PDF\PDF mkdir D:\Daten\Schueler\home\IT2008\test_it2008\PDF\PDF\PDF  
37.
 
38.
C:\Windows\System32>echo D:\Daten\Schueler\home\IT2008\test_it2008\PDF\PDF  
39.
D:\Daten\Schueler\home\IT2008\test_it2008\PDF\PDF 
40.
 
41.
C:\Windows\System32>move "c:\windows\temp\reda17480".pdf D:\Daten\Schueler\home\IT2008\test_it2008\PDF\PDF\PDF\2009_09_11-test_it2008_32071.pdf  
42.
        1 Datei(en) verschoben.
Bitte warten ..
Mitglied: 81825
11.09.2009 um 09:11 Uhr
Zitat von diemilz:
Hab den Fehler selbst gefunden,

Nö.

ich hatte beim dir-Befehl den Parameter /s vergessen.

Der Parameter /s arbeitet rekursiv, d. h. er legt auch deshalb das Verzeichnis mehrfach an. /S darfst du nicht verwenden.
Du hast ganz einfach das Verzeichnis, das er durchsuchen soll, falsch definiert und "IT2008" vergessen.
Bitte warten ..
Mitglied: diemilz
11.09.2009 um 11:37 Uhr
Nein, das geht aber nicht, dann müsste ich für jede Klasse nen eigenen PDF-Drucker auf dem Server anlegen und das ist mir zu viel Aufwand. Geht das denn nicht noch anders?

Ohne den Parameter /s bekomme ich das Verzeichnis nicht angelegt und damit auch die Datei nicht kopiert.
Bitte warten ..
Mitglied: 81825
11.09.2009, aktualisiert 18.10.2012
Warum folgst du nicht dem Vorschlag, den TimoBeil dir hier gemacht hat?
Die Liste kannst du doch einfach erzeugen.
dir /a:d /s /b Pfad > irgendeinname.txt
Bitte warten ..
Mitglied: St-Andreas
11.09.2009 um 11:51 Uhr
Ich mische mich ja nur ungern in sowas ein, aber wäre das Abfragen des homedrives für den User per dsget user -hmdir (siehe auch http://technet.microsoft.com/en-us/library/cc732535%28WS.10%29.aspx ) nicht irgendwie einfacher?
Bitte warten ..
Mitglied: diemilz
11.09.2009 um 11:53 Uhr
Das ist mir zu umständlich, dann muss ich zwei Datenbestände pflegen. Wäre zwar interessant, aber mir zu umständlich. Es muss doch auch so irgendwie gehen. Wie kann ich denn die letzten vier Zeichen einer Variable wegschneiden in Batch?
Bitte warten ..
Mitglied: 81825
11.09.2009 um 12:01 Uhr
Ich mische mich ja nur ungern in sowas ein,

Das wäre ein Fehler, sich nicht einzumischen

..... nicht irgendwie einfacher?

Garantiert. Und deshalb klinke ich mich auch aus.

Zum Abschluss noch ein informativer Link:
http://www.administrator.de/index.php?mod=content_all&action=&k ...
Bitte warten ..
Mitglied: 60730
11.09.2009 um 12:40 Uhr
Zitat von diemilz:
Das ist mir zu umständlich, dann muss ich zwei Datenbestände pflegen.

Zitat von diemilz:
Das ist zwar korrekt, aber nicht das was ich suche. Das Skript von mir
oben ist die Fassung für die Lehrer.

Zitat :
Immer frei nach dem Motto - einer (Script) für alle (Fälle)

Nehme ich dann zurück und behaupte einmal richtig gemacht - immer funktionierend.

Du willst nicht zwei Datenbestände pflegen, aber zwei Bätche für (fast) das gleiche sind ok.

Zitat von 81825:
Garantiert. Und deshalb klinke ich mich auch aus.

dito.
Bitte warten ..
Mitglied: diemilz
11.09.2009 um 13:43 Uhr
Hach ja, ich kann manchmal wirklich blöd sein. :D

Ich habs jetzt mit ner Sprungmarke gelöst. Ist zwar nicht das Gelbe vom Ei, da ich nur ungerne mit Sprungmarken arbeite, aber jetzt funktioniert es. Das Skript sieht jetzt so aus:

01.
set USER=%REDMON_USER% 
02.
set TITLE=%REDMON_DOCNAME:/=_% 
03.
set TITLE=%TITLE:\=_% 
04.
set TITLE=%TITLE::=_% 
05.
 
06.
c:\Programme\gs\gs8.64\bin\gswin32c.exe -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dNOSAFER -dAutoRotatePages=/PageByPage -dPDFSETTINGS=/prepress -dCompatibilityLevel=1.4 -sOutputFile="%1.pdf" %1 
07.
set filename=%DATE:~6,4%_%DATE:~3,2%_%DATE:~0,2%-%user%_%random% 
08.
chcp 1252 
09.
pushd D:\Daten\Schueler\Home 
10.
for /f %%a in ('dir /a:d /s /b ^| find /i "%REDMON_USER%"') do ( 
11.
set pdfpath=%%a 
12.
goto common 
13.
14.
 
15.
:common 
16.
popd 
17.
chcp 850 
18.
if not exist %pdfpath%\PDF mkdir %pdfpath%\PDF 
19.
echo %pdfpath% 
20.
move %1.pdf %pdfpath%\PDF\%filename%.pdf
Sry, dafür, dass ich mich manchmal unverständlich ausdrücke, ist keine Absicht gewesen. Trotzdem Danke nochmals für die vielen Tipps. Hier ists ja noch besser wie bei der 11880. :D
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...