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

Nach bat Dateien suchen und automatisch link auf Desktop erstellen

Frage Entwicklung Batch & Shell

Mitglied: cbli

cbli (Level 1) - Jetzt verbinden

30.11.2006, aktualisiert 01.12.2006, 6975 Aufrufe, 2 Kommentare

Ist es möglich per Batch nach bat Dateien mit bestimmten Namen zu suchen und automatisch eine Verknüpfung auf den Desktop zu legen ?

Beispiel:

Auf dem Netzlaufwerk L: sind z.b 100 Bat Dateien die ich öfters benutze in verschiedenen Verzeichnissen abgelegt.
Diese bat Dateien möchte ich nun von meinem Desktop aus aufrufen können.
Nun könnte ich ja für jede Bat Datei eine Verknüpfung erstellen,doch bei der Menge (es kommen immer wieder neue hinzu aufgrund der von mir,dank dieser Seite, entdeckten Möglichkeiten die Batches bieten) wäre dies ja sehr aufwändig.
Ich möchte also eine Batch schreiben ,die automatisch auf L: nach Bat Dateien mit immer gleichem Namen sucht und automatisch eine Verknüpfung auf meinem Desktop in einem bestimmten Ordner anlegt.
Darüberhinaus sollen bei einer nächsten Suchaktion bereits vorhandene Verknüpfungen automatisch überschrieben werden, so das keine doppelten Verknüpfungen entstehen.
Außerdem wäre es wünschenswert wenn die Batch aus den gefundenen Bat Dateien jeweils die erste Zeile (oder auch eine immer gleiche andere) auslesen würde (dort will ich die Batch Beschreibung ablegen) und den gefundenen Text dieser Zeile dann als Namen für die Verknüpfung verwenden würde.

Aber ob so was möglich ist ?
Danke

Gruß
Claus
Mitglied: bastla
30.11.2006 um 16:35 Uhr
Hallo Claus!

Ich hab mal auf die Schnelle was gekaspert (wie Biber dazu sagt):
01.
Const sBatPath = "L:\" 
02.
Const sLnkFolder = "Alle Meine Bätche" 
03.
Set shell = WScript.CreateObject("WScript.Shell") 
04.
Set fso = CreateObject("Scripting.FileSystemObject") 
05.
sLnkPath = shell.SpecialFolders("Desktop") & "\" & sLnkFolder & "\" 
06.
 
07.
'löschen 
08.
For Each f in fso.GetFolder(sLnkPath).Files 
09.
   If Right(f.Name , 4) = ".lnk" Then 
10.
	fso.DeleteFile(f) 
11.
   End If 
12.
Next 
13.
 
14.
'neu erstellen 
15.
For Each f in fso.GetFolder(sBatPath).Files 
16.
	If LCase(Right(f.Name, 4)) = ".bat" Or LCase(Right(f.Name, 4)) = ".cmd" Then 
17.
		Set oBatFile = fso.OpenTextFile(f.Path, 1) 
18.
		sBatName = oBatFile.ReadLine 
19.
		oBatFile.Close 
20.
		sBatName = Replace(sBatName, ":", "") 
21.
		sIndex = "" 
22.
		i = 2 
23.
		Do While fso.FileExists(sLnkPath & sBatName & sIndex & ".lnk") 
24.
			sIndex = CStr(i) 
25.
			i = i + 1 
26.
		Loop 
27.
		sShortcutName = sLnkPath & sBatName & sIndex & ".lnk" 
28.
		set oShellLink = shell.CreateShortcut(sShortcutName) 
29.
		oShellLink.TargetPath = f.Path 
30.
		oShellLink.WindowStyle = 1 
31.
		oShellLink.WorkingDirectory = sBatPath 
32.
		oShellLink.Save 
33.
	End If 
34.
Next
Zunächst werden alle im Zielpfad "Desktop\Alle Meine Bätche" vorhandenen Verknüpfungen gelöscht, danach für alle ".bat"- oder ".cmd"-Dateien im Verzeichnis "L:\" neue Verknüpfungen erstellt.

Der Name wird wunschgemäß aus der ersten Zeile der Batch-Datei abgeleitet. Da bei mir jede Menge Verknüpfungen mit dem einprägsamen Namen "@echo off & setlocal EnableDelayedExpansion" entstünden, habe ich vorgesehen, dass bei Namensgleichheit eine laufende Nummer angefügt wird.

Da Deine ersten Zeilen vermutlich mit "::" beginnen und sich Doppelpunkte in Dateinamen nicht ganz so gut machen, werden alle Doppelpunkte aus dem Namen eliminiert.

Weitere Fehlerüberprüfungen sind bis jetzt nicht enthalten.

Für den Verknüpfungseintrag "Ausführen in:" wird das Verzeichnis "L:\" eingesetzt.

Grüße
bastla
Bitte warten ..
Mitglied: cbli
01.12.2006 um 13:00 Uhr
Werde das Problem jetzt anders lösen.
Dieser Thread kann geschlossen werden.

Danke nochmal für die Hilfe

Gruß
Claus
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Alte Daten automatisch per Zip erstellen (4)

Frage von BEBBYs zum Thema Batch & Shell ...

Windows Server
RDP File per GPO auf Thin Client Desktop erstellen (10)

Frage von sayohh zum Thema Windows Server ...

Batch & Shell
gelöst Dateien automatisiert auf den Desktop von "All Users" kopieren (1)

Frage von Falaffel zum Thema Batch & Shell ...

Batch & Shell
Mehrere.csv Dateien zusammenfügen zu einer Datei mit bat (4)

Frage von Piotrney zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (22)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (19)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...