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, 6997 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 ..
Ähnliche Inhalte
Windows 7
Link auf Desktop um CMD Befehl auszuführen (7)

Frage von XPFanUwe zum Thema Windows 7 ...

Windows Server
gelöst Sichtbares Ausführen einer BAT-Datei mittels GPOs (10)

Frage von DasWombat1993 zum Thema Windows Server ...

Batch & Shell
gelöst Mehrere Dateien mit laufender Nummer automatisch erstellen (5)

Frage von anko123 zum Thema Batch & Shell ...

Windows Server
gelöst Automatisch erstellen von Ordner (9)

Frage von MeisterFuchs zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

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

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...