Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Meerdere snelkoppelingen in 1 keer (inhoudelijk) wijzigen

Pagina: 1
Acties:

  • Giaccotto
  • Registratie: April 2009
  • Laatst online: 01-10 22:20
He Hallo,

Ik zit met de volgende uitdaging;

We gaan over naar een nieuwe server. Op de oude server staat een map met vele submappen, en deze submappen zijn op hun buurt weer gevuld met zowel bestanden als ook snelkoppelingen. De snelkoppelingen leiden allemaal naar een andere oude share die ook een vervanger krijgt. Zoals het nu dus binnen de snelkoppelingen is ingesteld is dat een snelkoppeling wijst naar (bijvoorbeeld) U:\mapnaam1\..\..

in de nieuwe situatie moeten de snelkoppelingen leiden naar U:\mapnaam2\..\..

De map met alle snelkoppelingen is al wel aanwezig op de nieuwe server, maar de snelkoppelingen werken dus niet goed. De bestanden zijn (vanzelfsprekend) geen probleem.

Nu kan ik met de hand alle snelkoppelingen gaan aanpassen, maar ik was benieuwd of er een manier is om dit te scripten. Ik weet dat er genoeg manieren zijn om bestandsnamen e.d. aan te passen, maar we hebben het hier dus over de 'inhoud' van de snelkoppelingen.

Groeten,

Lennart

  • Mint
  • Registratie: Mei 2005
  • Laatst online: 29-11 23:24
Om niet elke snelkoppeling aan te moeten passen, kun je enerzijds een script schrijven welke *.lnk's in een map pakt en aanpast. Anderzijds kun je ook van U:\mapnaamp1 een symbolic link maken naar U:\mapnaamp2.

Even over dat scripten: Eerste hit op google.

  • Question Mark
  • Registratie: Mei 2003
  • Laatst online: 15:27

Question Mark

Moderator SSC/WOS

F7 - Nee - Ja

En als je nu handig bent, plaats je alle shares in een DFS-namespace en verwijs je de snelkoppelingen naar de DFS share. Dat voorkomt dit probleem als je over een paar jaar voor hetzelfde staat... :)

MCSE NT4/2K/2K3, MCTS, MCITP, CCA, CCEA, CCEE, CCIA, CCNA, CCDA, CCNP, CCDP, VCP, CEH + zwemdiploma A & B


  • Giaccotto
  • Registratie: April 2009
  • Laatst online: 01-10 22:20
Dag adyta,

Dank voor de snelle respons. De bovenstaande was ik niet tegen gekomen (andere zoektermen denk ik). Een ander script heb ik wel gevonden en deze werkt al grotendeels. Deze bestaat uit een bat file en een vbs. Enige uitdaging die ik nu nog heb is dat deze alleen op het hoogste niveau zoekt naar de te wijzigen .lnk bestanden en niet in de submappen. Daarnaast wijzigt het wel het 'doel' maar niet de 'beginnen in' :-(

De scripts zijn alsvolgt:

batchfile:

@Echo Off
Set _Path=C:\Test\kloet\wijzigen
Set _VBSPath=C:\Scripts
For /F "Tokens=* Delims=" %%I In ('Dir "%_Path%\*.lnk" /B') Do (
>>"%_Path%\LogFile.txt" cscript //nologo "%_VBSPath%\EditShort.vbs" "%_Path%" "%%~I"
)

vbs script:

strPath = Wscript.arguments(0)
strLinkName = Wscript.arguments(1)

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(strPath)

Set objFolderItem = objFolder.ParseName(strLinkName)
Set objShortcut = objFolderItem.GetLink
strOldPath = objShortcut.Path
strNewPath = Replace(strOldPath, "U:\TAXLAWYER", "U:\TAX",1,1,1)
If strOldPath <> strNewPath Then
Wscript.Echo "Shortcut Name " & strPath & "\" & strLinkName & vbCRLF & "Changed " & strOldPath & " to " & strNewPath & vbCRLF
objShortcut.Path = strNewPath
objShortcut.Save
End If

Ongetwijfeld is het een simpele toevoeging aan de batchfile om ook de submappen mee te pakken, en in het vbs script zal een regel toegevoegd moeten worden om ook het 'beginnen in' te wijzigen...

  • Giaccotto
  • Registratie: April 2009
  • Laatst online: 01-10 22:20
Question Mark schreef op woensdag 08 mei 2013 @ 19:40:
En als je nu handig bent, plaats je alle shares in een DFS-namespace en verwijs je de snelkoppelingen naar de DFS share. Dat voorkomt dit probleem als je over een paar jaar voor hetzelfde staat... :)
Opzich een hele goeie! :-) Alleen in dit geval wijzigt ook de share naam (niet mijn idee), moet ik dan niet alsnog alles wijzigen ondanks dat ik gebruik maak van DFS?

  • Mint
  • Registratie: Mei 2005
  • Laatst online: 29-11 23:24
Deze link laat zien hoe je recursief alle bestanden in een map (inclusief subdirectories) kunt ophalen. Als ik er gauw even overheenkijk laten ze ook zien hoe je een map aangeeft waarin het script moet kijken.

  • Giaccotto
  • Registratie: April 2009
  • Laatst online: 01-10 22:20
Dit is alleen wel een .vbs, en volgens mij hoef ik het in mijn reeds bestaande script enkel nog maar aan te passen in de .bat (of zie ik dat verkeerd). In mijn .vbs moet ik er dan alleen nog voor zorgen dat ook het 'start in' gedeelte wordt aangepast

In een eerder batch bestand heb ik ooit eens forfiles -s -m *.txt -p "C:\Test\Kloet\Wijzigent" maar ik zou niet weten hoe ik die kan toepassen op het huidige batch bestandje :-(

-s zorgt er voor dat er gekeken wordt in submappen ook.
Pagina: 1