Batch-Abläufe für Shortcut-Erstellung und Sharepoint (Explorer)

duAffentier

Vice Admiral
Registriert
Jan. 2008
Beiträge
6.340
Hallo Gemeinde,

ich suche eine Lösung zu einem Problem.
Da aktuell sehr viele Projekte im Sharepoint bearbeitet werden, muss man für jedes Projekt eine Desktop Verknüpfung erstellen. Dies muss man manuell machen. Da die Projekte "Kommen und gehen" und daher reger Verkehr auf dem Desktop ist, soll das vereinfacht werden.
Es gibt die Links zu den Daten per Chrome und Win-Explorer im Sharepoint.

Ich wollte das erstellen einer Verknüpfung per Batch realisieren, mit manueller Eingabe.
1. Jedes Projekt besteht aus einer Buchstaben/Zahlen Kombination welche man dann eingeben soll (je nach dem welches Projekt man haben möchte). Also "ABC" oder "ABC1" bzw. "ABC1_1" ---> Wie kann man die Eingabe dieses Textes erreichen.
https://***.sharepoint.com/sites/project_[Hier der Variable Text]/ABC/
2. Aktueller Ablauf um Verknüpfung zu erstellen, welche per "ink" erstellt wird und dann im Browser geöffnet wird.

Code:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
SET LinkName=Hello
SET Esc_LinkDest=%%HOMEDRIVE%%%%HOMEPATH%%\Desktop\!LinkName!.lnk
SET Esc_LinkTarget=https://***.sharepoint.com/sites/project_***/Project_Data/Forms/AllItems.aspx
SET cSctVBS=CreateShortcut.vbs
SET LOG=".\%~N0_runtime.log"
((
  echo Set oWS = WScript.CreateObject^("WScript.Shell"^)
  echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^)
  echo Set oLink = oWS.CreateShortcut^(sLinkFile^)
  echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^)
  echo oLink.Save
)1>!cSctVBS!
cscript //nologo .\!cSctVBS!
DEL !cSctVBS! /f /q
)1>>!LOG! 2>>&1

In diesem Code würde ich gerne die variable Eingabe einbauen. Sozusagen welches Projekt man verknüpft haben möchte. Zeile 5 sozusagen. Der Name der Verknüpfung in Zeile 3 sollte gleich der Eingabe des Projektnames sein.


3. Wenn eine "ink" Verknüpfung erstellt wird, ist das Icon "weiß". Kann man zusätzlich einen Befehl anfügen, wo das Icon geändert wird?
 
Zuletzt bearbeitet:
Text kannst du mit set /P eingeben.

Code:
set /p varname=Bitte Projektname eingeben:

Zum Icon:
Google hat auf die schnelle dashier ausgespuckt:

Code:
oLink.IconLocation = “C:\Windows\System32\SHELL32.dll, 13”

dashier in den VBScript Teil einbauen und es müsste ein Icon setzen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: duAffentier
Hallo!

Problem: Auf meheren Laptops funktioniert das erstellen der Links.
Auf einigen System erstellt er den Link auf dem Desktop nicht.
Win-Version sind die gleichen.

Habe gestern 2 Laptops gehabt, wo das erstellen des Links auf den Desktop nicht geht. Ansich der Link wird generiert. Nur das erstellen klappt nicht.
Code:
@echo off
echo Bitte warten Sie einen Moment!
SETLOCAL ENABLEDELAYEDEXPANSION
SET /p VARIABLE=Bitte geben Sie den Projektnamen ein!:
SET LinkName=%VARIABLE%
SET VARIABLE=%VARIABLE:.=_%
SET Esc_LinkDest=%%HOMEDRIVE%%%%HOMEPATH%%\Desktop\!LinkName!.lnk
SET Esc_LinkTarget=file://ABC.sharepoint.com@SSL/DavWWWRoot/sites/ABC_%VARIABLE%/ABC/
SET cSctVBS=CreateShortcut.vbs
SET LOG=".\%~N0_runtime.log"
((
  echo Set oWS = WScript.CreateObject^("WScript.Shell"^)
  echo sLinkFile = oWS.ExpandEnvironmentStrings^("!Esc_LinkDest!"^)
  echo Set oLink = oWS.CreateShortcut^(sLinkFile^)
  echo oLink.TargetPath = oWS.ExpandEnvironmentStrings^("!Esc_LinkTarget!"^)
  echo oLink.Save
)1>!cSctVBS!
cscript //nologo .\!cSctVBS!
DEL !cSctVBS! /f /q
)1>>!LOG! 2>>&1
goto END

Woran kann das liegen?
Ergänzung ()

Eben habe ich probiert, die CMD als Admin auszuführen. Da konnte ich bei mir auch keine Desktop Verknüpfung erstellen.
Woran liegt es, wenn man die CMD als Admin ausführt und das cSctVBS=CreateShortcut.vbs nicht weiter ausgeführt wird?
 
Zuletzt bearbeitet:
-Ordnerumleitung korrekt gesetzt?
Kann es sein, dass der Admin keine Ordnerumleitung auf ein H-Laufwerk hat?
Sprich : kein H-Laufwerk vorhanden bzw bei den anderen beiden evtl. im AD nicht gesetzt?

-Warum die Ordnerumleitung über Variablen ansteuern?
Die Ordnerumleitung sollte doch eben genau das erleichtern, statt über Variablen wie Homedrive, Homepath usw. arbeiten zu müssen, oder?

-Warum nicht alles gleich in VBS?
Code:
'Eingabe
Dim sInput
sInput = InputBox("Projektname eingeben")

Set objShell = WScript.CreateObject("WScript.Shell")
 
'Desktop des aktuellen Anwenders
usersDesktop = objShell.SpecialFolders("Desktop")
 
'Name der URL
Set objShortCut = objShell.CreateShortcut(usersDesktop & "\" & sInput & ".url")
 
'URL des Shortcuts
objShortCut.TargetPath = "www." & sInput & ".org"

'Shortcut erzeugen
objShortCut.Save
 
Hallo,

die Verknüpfung die erstellt wird, ist kein Link für Chrom etc., sondern soll eine normale Desktop-Verknüpfung sein mit Ziel Sharepoint. Das ich es im Windows Explorer öffnen kann.
 
sind .aspx nicht auch Webseiten?
Nur servergeneriert? ^-^

Das ganze als Link / .lnk :
Code:
'Eingabe
Dim sInput
sInput = InputBox("Projektname eingeben")

Set objShell = WScript.CreateObject("WScript.Shell")

'Desktop des aktuellen Anwenders
strDesktop = objShell.SpecialFolders("Desktop")

'Name der URL
Set objMyShortcut = objShell.CreateShortcut(strDesktop & "\" & sInput & ".lnk")

'URL des Shortcuts
objMyShortcut.TargetPath = "http://www." & sInput & ".org"

'Icons hinzufügen

'Icon aus .dll auslesen
'objMyShortCut.IconLocation = "C:\Windows\System32\url.dll" 

'Bestimmtes Icon herauspicken
objMyShortCut.IconLocation = "%SystemRoot%\system32\SHELL32.dll,23" 

'Icon von .ico bekommen
'objMyShortCut.IconLocation = "C:\Windows\WinSxS\wow64_microsoft-windows-onedrive-setup_31bf3856ad364e35_10.0.19041.1_none_e585f901f9ce93e6\onedrive.ico"

'Shortcut erzeugen
objMyShortCut.Save
 
Hi,

Der "Link" in Form von "//ABC.sharepoint.com@SSL/DavWWWRoot/sites/ABC_%VARIABLE%/ABC/" kann ja per WIndows Explorer geöffnet werden.
Somit kann ich den Umweg über einen Browser sparen und kann normal per "Shorcut" und dem Win-Explorer in den Sharepoint gehen.

ryan_blackdrago schrieb:
-Ordnerumleitung korrekt gesetzt?
Kann es sein, dass der Admin keine Ordnerumleitung auf ein H-Laufwerk hat?
Sprich : kein H-Laufwerk vorhanden bzw bei den anderen beiden evtl. im AD nicht gesetzt?

-Warum die Ordnerumleitung über Variablen ansteuern?
Die Ordnerumleitung sollte doch eben genau das erleichtern, statt über Variablen wie Homedrive, Homepath usw. arbeiten zu müssen, oder?


Nun hat die CMD, welche an einem Laptop nicht funktioniert hat, wieder ihren Dienst verrichtet.
An einen anderen PC geht es nicht. Bin selbst noch am suchen.
Aber an den mir hier im Büro zur Verfügung stehenden PCs/Laptops geht es.
Bisher kann ich mir auch nicht erklären, wieso an anderen PCs dies nicht geht.
 
Zurück
Oben