Top-Themen

Aktuelle Themen (A bis Z)

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

temporärer vbs-Script zur Linkerstellung

Frage Entwicklung Batch & Shell

Mitglied: waldgnarf

waldgnarf (Level 1) - Jetzt verbinden

01.02.2008, aktualisiert 19:18 Uhr, 4375 Aufrufe, 10 Kommentare

Hallo liebe Geminde, ich habe den Script hier im Forum gefunden. Wollte fragen ob es möglich ist damit mehrere Links zu erstellt ohne das ich den Script dauernd wiederholen muss. Habe es mit for schleife versucht aber scheinbar irgendwas falsch gemacht.

01.
@echo off & setlocal 
02.
:BEGINN 
03.
for /r %PFAD% %%f in (*.*) do ( 
04.
set "DATEI=%%f" 
05.
set "PFAD=%USERPROFILE%\Desktop\TEST" 
06.
set "LINK=%USERPROFILE%\Desktop\TEST\%PFAD%.lnk" 
07.
)  
08.
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs 
09.
echo Set objShortcut=objShell.CreateShortcut("%LINK%")>>%temp%\MakeShortCut.vbs 
10.
echo objShortcut.TargetPath="%PFAD%\%DATEI%">>%temp%\MakeShortCut.vbs 
11.
echo objShortcut.WorkingDirectory="%PFAD%">>%temp%\MakeShortCut.vbs 
12.
echo objShortcut.Save>>%temp%\MakeShortCut.vbs 
13.
cscript //nologo %temp%\MakeShortCut.vbs 
14.
del %temp%\MakeShortCut.vbs 
15.
goto :BEGINN
Von vbs hab ich noch so gut wie überhaupt keine Ahnung, aber auch wenn den Teil mit in die Klammer packe wird nur eine Datei benannt und die Variable "DATEI" wird auch nicht gefunden.

Alternativ habe ich noch eine möglichkeit mit der rundll32 entdeckt:

01.
RunDLL32 AppWiz.Cpl,NewLinkHere %1
Aber hier weiss ich nicht wie es und ob es automatisch anblaufen kann. Habe versucht noch was anzuhängen aber auch nach langer suche keine Beispiele zum erweitern gefunden.

Gruß waldgnarf



[Edit Biber] Auf <code> formatiert.[/Edit]
Mitglied: miniversum
01.02.2008 um 14:14 Uhr
Versuchs mal so:
01.
@echo off & setlocal 
02.
 
03.
set "PFAD=%USERPROFILE%\Desktop\TEST" 
04.
 
05.
for /r %PFAD% %%f in (*.*) do call:MakeShortCut "%%f" 
06.
07.
del %temp%\MakeShortCut.vbs 
08.
goto:eof 
09.
 
10.
:MakeShortCut  
11.
set "DATEI=%%~1" 
12.
set "LINK=%USERPROFILE%\Desktop\TEST\%%~n1.lnk" 
13.
 
14.
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs 
15.
echo Set objShortcut=objShell.CreateShortcut("%LINK%")>>%temp%\MakeShortCut.vbs 
16.
echo objShortcut.TargetPath="%PFAD%\%DATEI%">>%temp%\MakeShortCut.vbs 
17.
echo objShortcut.WorkingDirectory="%PFAD%">>%temp%\MakeShortCut.vbs 
18.
echo objShortcut.Save>>%temp%\MakeShortCut.vbs 
19.
cscript //nologo %temp%\MakeShortCut.vbs
miniversum
Bitte warten ..
Mitglied: rubberduck
01.02.2008 um 14:15 Uhr
Bitte mach eine Trennung, von dem Teil den Du gemacht hast und dem Teil den Du gefunden hast (Ist etwas einfacher zum Analysieren).

Und schliess das CODE-Tag mit <> und nicht mit [] ein.

...ohne das ich den Script dauernd wiederholen muss. Habe es mit for schleife versucht...
Was ist eine Schleife anderes als ein Wiederholung?
Bitte warten ..
Mitglied: waldgnarf
01.02.2008 um 15:12 Uhr
Danke für die Hilfe aber es kommt die Meldung ("und" ist syntaktisch an dieser Stelle nicht verarbeitbar.) es kommt auch keine Link-Datei.

@rubberduck
sry werd das nächste mal machen.
Wenn ich den vbs-Script nicht jedesmal für insgesamt 20 Datein einzeln wiederholen muss sondern nur die Variable "DATEI" neu zuweisen, und das ist ja nur ein kleiner Teil meiner Batch das ganze wird wesendlich leichter auch in andere Ordner wenn ich nur die Variablen ändern muss.
Bitte warten ..
Mitglied: rubberduck
01.02.2008 um 15:52 Uhr
Ich bekomme gleich ein Kind...
Wie kommst Du auf einzeln wiederholen?

Der Batch muss eh ausgeführt werden, um das VBS zu erstellen.
Wieso nicht von Anfang an alles in einem VBS?
Du wirst es wahrscheinlich kaum glauben, aber mit VBScript kann man auch Variablen verwenden.

Statt ein ErstellMirEinenLink.BAT zu machen der ein MachIchChef.VBS erstellt, ausführt und am Schluss wieder löscht kannst Du ja ein IchMacheAllesChef.VBS machen (mit Variablen )
Bitte warten ..
Mitglied: bastla
01.02.2008 um 16:02 Uhr
Hallo waldgnarf!

Bei der folgenden (ungetesteten) Variante wird das VBScript nur einmal erstellt und verwendet dann die beim Aufruf übergebenen Parameter:
01.
@echo off & setlocal 
02.
set "PFAD=%USERPROFILE%\Desktop\TEST" 
03.
 
04.
set M=%temp%\MakeShortCut.vbs 
05.
echo Set objArgs=WScript.Arguments>%M% 
06.
echo Set objShell=WScript.CreateObject("WScript.Shell")>>%M% 
07.
echo Set objShortcut=objShell.CreateShortcut(objArgs(1))>>%M% 
08.
echo objShortcut.TargetPath=objArgs(2)^&"\"^&objArgs(0)>>%M% 
09.
echo objShortcut.WorkingDirectory=objArgs(2)>>%M% 
10.
echo objShortcut.Save>>%M% 
11.
 
12.
for /r %PFAD% %%f in (*.*) do call:MakeShortCut "%%f" 
13.
 
14.
del %M% 
15.
goto:eof 
16.
 
17.
:MakeShortCut  
18.
set "DATEI=%%~1" 
19.
set "LINK=%USERPROFILE%\Desktop\TEST\%%~n1.lnk" 
20.
cscript //nologo  %M% "%DATEI%" "%LINK%" "%PFAD%"
Zum Thema "vbs-Script nicht jedesmal für insgesamt 20 Datein einzeln wiederholen": Ich nehme an, dass damit das wiederholte Erstellen des Scripts gemeint war, denn ausführen musst Du es natürlich für jede einzelne Datei.

Grüße
bastla
Bitte warten ..
Mitglied: waldgnarf
01.02.2008 um 17:08 Uhr
Dann müsste ich ja die ganze Batch die schon zu 70% fertig ist in vbs (von was ich noch 0plan habe) umschreiben. Der Teil mit dem Links erstellen ist ja nur ein Schnipsel.

Ich dachte mir auch das es nicht anders geht aber dann wollt ich wenigstens den vbs-temp teil nur einmal rein setzen, darum das mit "for".
Habe keinen schimmer warum und was versuchen kann aber es kommt immer noch ("und" ist syntaktisch an dieser Stelle nicht verarbeitbar.)

Gruß waldgnarf
Bitte warten ..
Mitglied: bastla
01.02.2008 um 17:21 Uhr
Hallo waldgnarf!

Hinsichtlich des Fehler sollte es helfen, wenn Du in der Zeile
01.
for /r %PFAD% %%f in (*.*) do call:MakeShortCut "%%f"
auch die Variable %PFAD% unter Anführungszeichen setzt, also:
01.
for /r "%PFAD%" %%f in (*.*) do call:MakeShortCut "%%f"
Dann müsste ich ja die ganze Batch die schon zu 70% fertig ist in vbs (von was ich noch 0plan habe) umschreiben.
Keineswegs - der VBS-Teil ist ja in den Batch integriert.

Grüße
bastla
Bitte warten ..
Mitglied: waldgnarf
01.02.2008 um 18:10 Uhr
Ist mir enfallen sry, das hilft mir jetzt schon sehr weiter.
Noch eine letzte Frage: ist es möglich den Dateinamen ohne Endung auch automatisch mit zu übernehmen?
Bitte warten ..
Mitglied: bastla
01.02.2008 um 18:50 Uhr
Hallo waldgnarf!

... Dateinamen ohne Endung auch automatisch mit zu übernehmen?
Wohin willst Du ihn übernehmen? In eine Variable schreiben kannst Du ihn im Programmteil ":MakeShortCut" mit
01.
set "Dateiname=%%~n1"
Grüße
bastla
Bitte warten ..
Mitglied: waldgnarf
01.02.2008 um 19:18 Uhr
Ok, Danke

Gruß waldgnarf
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateiendung Temporär umbenennen mit vbs (ohne Pfadangabe)
gelöst Frage von o0Julia0oBatch & Shell2 Kommentare

hallo :) ich kenne mich ein wenig mit Batch-Dateien aus, aber nicht mit VBS. Ich möchte aber mit VBS ...

VB for Applications
VBS Script kann Prgramm nicht starten
gelöst Frage von C.BoernerVB for Applications15 Kommentare

Hallo ihr Admins, Ich habe folgendes Scenarios ein Programm läuft im Hintergrund (Drivve-Image) das übergibt Werte an ein VBS ...

Batch & Shell
Hilfe Bei einem vbs Script
gelöst Frage von Hattori-HanzoBatch & Shell19 Kommentare

Hey Leute Könnt ihr mir bitte sagen was daran falsch ist? beschäftige mich erst seit kurzem mit vbs scripts. ...

JavaScript
VBS-Script wird nicht vollständig ausgeführt
Frage von HousefrauJavaScript3 Kommentare

Hallo zusammen, wir lassen über eine Gruppenrichtlinie einen Script ausführen, welcher die Drucker der einzelnen Parteien mappen soll. Leider ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 21 StundenBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 23 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...

Windows 10
Windows 10 GPO Powershell Skript Registry bearbeiten
Frage von potshockWindows 1010 Kommentare

Hi Admins, Gegeben ist ein Windows 2012 R2 Server an welchen ich Gpos für Windows 10 Clients bereitstelle. U.a. ...