gelöst Verzeichnis durchsuchen und Verknüpfungen erstellen
hahlrichsneu (Level 1) - Jetzt verbinden
15.05.2008, aktualisiert 21.05.2008, 9274 Aufrufe, 6 Kommentare
Per Batch ein Verzeichnis nach bestimmten Dateien durchsuchen und von den Ergebnissen Verknüpfungen erstellen
Hallo,
ich habe folgende Aufgabe.
Ich möchte per Batch einen Ordner inkl. Unterordner nach PDF Dateien durchsuchen.
Die gefundenen PDF’s sollen dann als Verknüpfung Datei .lnk in einem Zielordner abgespeichert werden.
Ich hab es jetzt schon ein paar mal versucht, hierzu eine Batch zu editieren bin aber leider nicht auf ein vernünftiges Ergebnis gekommen.
Kann mir jemand bei dieser Aufgabe helfen?
Gruß
Holger
ich habe folgende Aufgabe.
Ich möchte per Batch einen Ordner inkl. Unterordner nach PDF Dateien durchsuchen.
Die gefundenen PDF’s sollen dann als Verknüpfung Datei .lnk in einem Zielordner abgespeichert werden.
Ich hab es jetzt schon ein paar mal versucht, hierzu eine Batch zu editieren bin aber leider nicht auf ein vernünftiges Ergebnis gekommen.
Kann mir jemand bei dieser Aufgabe helfen?
Gruß
Holger
6 Antworten
- LÖSUNG Jere schreibt am 16.05.2008 um 10:36:08 Uhr
- LÖSUNG kunert0345 schreibt am 18.05.2008 um 00:13:08 Uhr
- LÖSUNG hahlrichsneu schreibt am 20.05.2008 um 11:41:57 Uhr
- LÖSUNG Jere schreibt am 20.05.2008 um 13:30:32 Uhr
- LÖSUNG hahlrichsneu schreibt am 21.05.2008 um 11:01:18 Uhr
- LÖSUNG Wolfsrudel schreibt am 16.01.2009 um 09:10:07 Uhr
- LÖSUNG hahlrichsneu schreibt am 21.05.2008 um 11:01:18 Uhr
- LÖSUNG Jere schreibt am 20.05.2008 um 13:30:32 Uhr
- LÖSUNG hahlrichsneu schreibt am 20.05.2008 um 11:41:57 Uhr
- LÖSUNG kunert0345 schreibt am 18.05.2008 um 00:13:08 Uhr
LÖSUNG 16.05.2008 um 10:36 Uhr
wie weit bist du denn gekommen?
schreibs mal hier rein...
schreibs mal hier rein...
LÖSUNG 18.05.2008 um 00:13 Uhr
Ich hab Rum geknobelt aber leider geht das glaube ich nicht über Batch.
Stattdessen hab ich ein Programm geschrieben das nach pdfs sucht und in einen Ordner (pdf) kopiert.
leider funktioniert es nicht wenn in unter Verzeichnissen ein Ordner oder die pdf ein Leerzeichen besitzt (tja da wünscht man sich die alten Normen und regeln wie z.b. keine Leerzeichen und alles nur 3 Buchstaben)
Das Prog:
@echo off
if not exist pdf md pdf
echo for %%%%t in ( > tmp.bat
dir /s /b *.pdf >> tmp.bat
echo ) do copy %%%%t pdf >> tmp.bat
echo del tmp.bat >> tmp.bat
tmp.bat
Stattdessen hab ich ein Programm geschrieben das nach pdfs sucht und in einen Ordner (pdf) kopiert.
leider funktioniert es nicht wenn in unter Verzeichnissen ein Ordner oder die pdf ein Leerzeichen besitzt (tja da wünscht man sich die alten Normen und regeln wie z.b. keine Leerzeichen und alles nur 3 Buchstaben)
Das Prog:
@echo off
if not exist pdf md pdf
echo for %%%%t in ( > tmp.bat
dir /s /b *.pdf >> tmp.bat
echo ) do copy %%%%t pdf >> tmp.bat
echo del tmp.bat >> tmp.bat
tmp.bat
LÖSUNG 20.05.2008 um 11:41 Uhr
Hallo,
danke ersteinmal zusammen für die Antworten.
Ich hatte folgendes Batch zum erstellen der .lnk Dateien gefunden/editiert:
@echo off & setlocal
::Speicherort der Verknüpfung (unterhalb von Startmenue\Programme)
set "zielpfad=D:\Austausch\XXXXX"
::Falls das Symbol auf den Desktop soll:
::set "zielpfad=%userprofile%\Desktop"
::Name der Verknüpfung (ohne ".lnk")
set "progtitel=XXXXXXX"
::Speicherort der Programmdatei (wird auch für "Ausführen in:" verwendet)
set "progdir=C:\Programme"
set "progexe=XXXXXXXXX.exe"
::Kommentar
set "beschreibung=Erklärung eigentlich unnötig ..."
::Bei Bedarf Speicherordner der Verknüpfung erstellen (siehe oben "zielpfad"):
if not exist "%zielpfad%" md "%zielpfad%"
::temporäres VBScript erzeugen ...
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs
echo Set objShortcut=objShell.CreateShortcut("%zielpfad%\%progtitel%.lnk")>>%temp%\MakeShortCut.vbs
echo objShortcut.TargetPath="%progdir%\%progexe%">>%temp%\MakeShortCut.vbs
echo objShortcut.Description="%beschreibung%">>%temp%\MakeShortCut.vbs
echo objShortcut.WorkingDirectory="%progdir%">>%temp%\MakeShortCut.vbs
echo objShortcut.Save>>%temp%\MakeShortCut.vbs
::... ausführen ...
cscript //nologo %temp%\MakeShortCut.vbs
::... und wieder löschen.
del %temp%\MakeShortCut.vbs
und folgendes um die Pdf's zu suchen und zentral zu kopieren:
for /r "d:\austausch\" %%i in (*.ico) do copy "%%i" "d:\austausch\test\%%~nxi"
ich bring se aber leider nicht zusammen.
Vieleicht schafft es jemand anders
Gruß
Holger
danke ersteinmal zusammen für die Antworten.
Ich hatte folgendes Batch zum erstellen der .lnk Dateien gefunden/editiert:
@echo off & setlocal
::Speicherort der Verknüpfung (unterhalb von Startmenue\Programme)
set "zielpfad=D:\Austausch\XXXXX"
::Falls das Symbol auf den Desktop soll:
::set "zielpfad=%userprofile%\Desktop"
::Name der Verknüpfung (ohne ".lnk")
set "progtitel=XXXXXXX"
::Speicherort der Programmdatei (wird auch für "Ausführen in:" verwendet)
set "progdir=C:\Programme"
set "progexe=XXXXXXXXX.exe"
::Kommentar
set "beschreibung=Erklärung eigentlich unnötig ..."
::Bei Bedarf Speicherordner der Verknüpfung erstellen (siehe oben "zielpfad"):
if not exist "%zielpfad%" md "%zielpfad%"
::temporäres VBScript erzeugen ...
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs
echo Set objShortcut=objShell.CreateShortcut("%zielpfad%\%progtitel%.lnk")>>%temp%\MakeShortCut.vbs
echo objShortcut.TargetPath="%progdir%\%progexe%">>%temp%\MakeShortCut.vbs
echo objShortcut.Description="%beschreibung%">>%temp%\MakeShortCut.vbs
echo objShortcut.WorkingDirectory="%progdir%">>%temp%\MakeShortCut.vbs
echo objShortcut.Save>>%temp%\MakeShortCut.vbs
::... ausführen ...
cscript //nologo %temp%\MakeShortCut.vbs
::... und wieder löschen.
del %temp%\MakeShortCut.vbs
und folgendes um die Pdf's zu suchen und zentral zu kopieren:
for /r "d:\austausch\" %%i in (*.ico) do copy "%%i" "d:\austausch\test\%%~nxi"
ich bring se aber leider nicht zusammen.
Vieleicht schafft es jemand anders
Gruß
Holger
LÖSUNG 20.05.2008 um 13:30 Uhr
Hallo Holger,
ich verzweifel langsam an deinen Scripten,
kriege es nicht wie gewünscht hin.
Aber da du immer so nett bist, wollt ich dir zumindest kund tun das ich dich nicht vergessen habe.
Gruß
J
ich verzweifel langsam an deinen Scripten,
kriege es nicht wie gewünscht hin.
Aber da du immer so nett bist, wollt ich dir zumindest kund tun das ich dich nicht vergessen habe.
Gruß
J
LÖSUNG 21.05.2008 um 11:01 Uhr
Hallo Jere,
sehr nett von Dir.
Ich möchte Dich damit aber nicht von wichtigeren Sachen abhalten
Falls ich in diesem Forum zu keiner Lösung komme, ist es halt so. Ich werd es überleben
Vielen Dank
Holger
sehr nett von Dir.
Ich möchte Dich damit aber nicht von wichtigeren Sachen abhalten
Falls ich in diesem Forum zu keiner Lösung komme, ist es halt so. Ich werd es überleben
Vielen Dank
Holger
LÖSUNG 16.01.2009 um 09:10 Uhr
Batch
VB-Script "create_shortcut.vbs"
Meine Lösung ;) Habe auch lange damit rumspielen müssen, aber es funktioniert.
01.
FOR /F %%i IN ('DIR /B d:\austausch\*.ico') DO (
02.
XCOPY %%i d:\austausch\test\%%~nxi /D /Y /Q /H /K
03.
)
04.
05.
FOR /F %%a IN ('DIR /B d:\austausch\test\*.ico') DO (
06.
CSRIPT create_shortcut.vbs "%userprofile%\Desktop" %%a "d:\austausch\test" %%a %%a "d:\austausch\test" //NOLOGO
07.
)
01.
Set objShell=WScript.CreateObject("Wscript.Shell")
02.
Set objShortcut=objShell.CreateShortcut(wscript.arguments(0) & "\" & wscript.arguments(1) & ".lnk")
03.
objShortcut.TargetPath=wscript.arguments(2) & "\" & wscript.arguments(3)
04.
objShortcut.Description=wscript.arguments(4)
05.
objShortcut.WorkingDirectory=wscript.arguments(2)
06.
objShortcut.Save
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte