{"id":152,"date":"2015-07-22T14:12:07","date_gmt":"2015-07-22T12:12:07","guid":{"rendered":"http:\/\/giveback.danielmenzel.de\/?p=152"},"modified":"2015-07-22T14:43:48","modified_gmt":"2015-07-22T12:43:48","slug":"massenaenderung-von-linksshortcutsverknuepfungen-unter-windows","status":"publish","type":"post","link":"http:\/\/giveback.danielmenzel.de\/?p=152","title":{"rendered":"Massen\u00e4nderung von Links\/Shortcuts\/Verkn\u00fcpfungen unter Windows"},"content":{"rendered":"<p>Hat man viele Verkn\u00fcpfungen unter Windows die angepasst werden m\u00fcssen (z.B. weil sich ein Servername ge\u00e4ndert hat) kann man komplett die Chance nutzen, um alles mal aufzur\u00e4umen und nur die Links zu \u00e4ndern die man wirklich noch braucht oder:\u00a0<!--more-->Man bedient sich eines Automatismus.<\/p>\n<p>Verbl\u00fcffend wenig habe ich dazu im Internet gefunden und noch weniger davon\u00a0brauchbares obwohl es doch sicherlich viele Servermigrationen gibt. Ein gute Skript findet man unter:<\/p>\n<p><a href=\"http:\/\/community.spiceworks.com\/scripts\/show\/298-change-shortcut-lnk-target-paths-in-bulk?page=2\" target=\"_blank\">http:\/\/community.spiceworks.com\/scripts\/show\/298-change-shortcut-lnk-target-paths-in-bulk?page=2<\/a><\/p>\n<p>Hier das Skript (als .vbs speichern und mit &#8218;wscript&#8216; ausf\u00fchren) falls der Link oben mal nicht mehr funktionieren sollte (Achtung: Bitte vorher LESEN was man starten m\u00f6chte und die Variable &#8222;silent&#8220; auf jeden Fall von 1 auf 0 \u00e4ndern:<\/p>\n<pre><span class=\"c\">'~~Author~~. Rob Dunn<\/span>\r\n<span class=\"c\">'<\/span>\r\n<span class=\"c\">'~~Blatently borrowed a little bit of code from~~. Jim de Graff<\/span>\r\n<span class=\"c\">'<\/span>\r\n<span class=\"c\">'~~Script_Type~~. vbscript<\/span>\r\n<span class=\"c\">'<\/span>\r\n<span class=\"c\">'~~Sub_Type~~. SystemAdministration<\/span>\r\n<span class=\"c\">'<\/span>\r\n<span class=\"c\">'~~Keywords~~. change shortcuts, string, migration, <\/span>\r\n<span class=\"c\">' mapped drive, new server, LNK, target path<\/span>\r\n<span class=\"c\">'<\/span>\r\n<span class=\"c\">'~~Comment~~.<\/span>\r\n<span class=\"c\">'This script searches the given folder (and sub-folders) for shortcuts <\/span>\r\n<span class=\"c\">' that contains a particular string (i.e. \"c:\\temp\\shortcut_target.exe\" <\/span>\r\n<span class=\"c\">' first it will prompt you to type the string you wish to replace, <\/span>\r\n<span class=\"c\">' after which, it prompts for the new string.  Finally, it will ask <\/span>\r\n<span class=\"c\">' you for the root folder which you would like to begin the search <\/span>\r\n<span class=\"c\">' (and replace).  If you run in verbose mode, you will be prompted<\/span>\r\n<span class=\"c\">' to say 'yes' for each shortcut you'd like to change.  After it's <\/span>\r\n<span class=\"c\">' finished, it will present you with an HTM of the changes that <\/span>\r\n<span class=\"c\">' were made.<\/span>\r\n<span class=\"c\">'<\/span>\r\n<span class=\"c\">'This script only works with single instances of a string - if there are<\/span>\r\n<span class=\"c\">' more than one instance, the script will change the first instance.<\/span>\r\n<span class=\"c\">'<\/span>\r\n<span class=\"c\">'A few lines below are variables that you can set to modify the behavior <\/span>\r\n<span class=\"c\">' of the script.  In this form, Silent = 0 (off), which will prompt you <\/span>\r\n<span class=\"c\">' with each shortcut it finds that meet the criteria specified in the <\/span>\r\n<span class=\"c\">' initial input boxes.  As it finds matching shortcuts, it will prompt<\/span>\r\n<span class=\"c\">' you to type 'yes' to change the shortcuts.<\/span>\r\n<span class=\"c\">' <\/span>\r\n<span class=\"c\">'I just changed a server name at a location, and all the users had a <\/span>\r\n<span class=\"c\">' TON of shortcuts pointing to the old server name, so I put this <\/span>\r\n<span class=\"c\">' together to save me time, and it worked great!<\/span>\r\n<span class=\"c\">'<\/span>\r\n<span class=\"c\">'At the very end, it will open up an HTM file with the results of the<\/span>\r\n<span class=\"c\">' shortcuts that it finds (and highlight which ones are updated)<\/span>\r\n<span class=\"c\">'<\/span>\r\n<span class=\"c\">'Per Jim de Graff: \"also demonstrates how to traverse a directory tree\"<\/span>\r\n<span class=\"c\">' using recursion.\"'<\/span>\r\n\r\n<span class=\"c\">'~~Script~~.<\/span>\r\n<span class=\"k\">Dim<\/span> <span class=\"n\">Silent<\/span><span class=\"p\">,<\/span> <span class=\"n\">CurTime<\/span><span class=\"p\">,<\/span> <span class=\"n\">sIsDrive<\/span>\r\n<span class=\"k\">Dim<\/span> <span class=\"n\">newlink<\/span><span class=\"p\">,<\/span> <span class=\"n\">oldlink<\/span><span class=\"p\">,<\/span> <span class=\"n\">oldfull<\/span><span class=\"p\">,<\/span> <span class=\"n\">fullname<\/span><span class=\"p\">,<\/span> <span class=\"n\">oldfile<\/span><span class=\"p\">,<\/span> <span class=\"n\">bgcolor<\/span>\r\n<span class=\"k\">Dim<\/span> <span class=\"n\">CheckFolder<\/span><span class=\"p\">,<\/span> <span class=\"n\">RootFolder<\/span>\r\n\r\n<span class=\"k\">Dim<\/span> <span class=\"n\">w<\/span><span class=\"p\">,<\/span> <span class=\"n\">ws<\/span>\r\n\r\n<span class=\"k\">const<\/span> <span class=\"n\">ForReading<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span>\r\n<span class=\"k\">const<\/span> <span class=\"n\">ForWriting<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">2<\/span>\r\n<span class=\"k\">const<\/span> <span class=\"n\">ForAppending<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">8<\/span>\r\n\r\n<span class=\"c\">'On Error Resume Next<\/span>\r\n\r\n<span class=\"c\">'Find current time that the script runs<\/span>\r\n<span class=\"k\">set<\/span> <span class=\"n\">wso<\/span> <span class=\"o\">=<\/span> <span class=\"n\">CreateObject<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Wscript.Shell\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"k\">set<\/span> <span class=\"n\">fso<\/span> <span class=\"o\">=<\/span> <span class=\"n\">CreateObject<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Scripting.FileSystemObject\"<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"c\">'pull the system's process variables (we'll be using TEMP<\/span>\r\n<span class=\"c\">' for the output file and WINDIR to figure out the default <\/span>\r\n<span class=\"c\">' location of user's desktop folder - whether 9x or NT\/2k\/XP)<\/span>\r\n<span class=\"k\">Set<\/span> <span class=\"n\">WshSysEnv<\/span> <span class=\"o\">=<\/span> <span class=\"n\">wso<\/span><span class=\"p\">.<\/span><span class=\"n\">Environment<\/span><span class=\"p\">(<\/span><span class=\"s\">\"PROCESS\"<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"c\">'pull the system's profile environment variable<\/span>\r\n<span class=\"n\">userprofile<\/span> <span class=\"o\">=<\/span> <span class=\"n\">wso<\/span><span class=\"p\">.<\/span><span class=\"n\">ExpandEnvironmentStrings<\/span><span class=\"p\">(<\/span><span class=\"s\">\"%userprofile%\"<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"c\">'set your variables here<\/span>\r\n<span class=\"c\">'silent = 0\/1\/2<\/span>\r\n<span class=\"c\">'\t0 - verbose<\/span>\r\n<span class=\"c\">'\t1 - turns off verification prompts<\/span>\r\n<span class=\"c\">'\t2 - turns off verification and initial config prompts<\/span>\r\n<span class=\"c\">'ChangePathFrom = string you wish to replace<\/span>\r\n<span class=\"c\">'ChangePathTo = string you wish to change ChangePathFrom to<\/span>\r\n<span class=\"c\">' above server vars are needed only for when silent = 2<\/span>\r\n<span class=\"c\">'ouputfile = location of output filename, you can use a string in<\/span>\r\n<span class=\"c\">' place of all the code after the equal sign (i.e. <\/span>\r\n<span class=\"c\">' outputfile = \"x:\\temp,\" etc.)<\/span>\r\n<span class=\"c\">'curtime = finds time of execution of script<\/span>\r\n<span class=\"c\">'RootFolder = The folder that you wish to search (silent mode only)<\/span>\r\n<span class=\"c\">'--------------------------------------------------------------------<\/span>\r\n<span class=\"c\">'      set your variables below...<\/span>\r\n<span class=\"c\">'--------------------------------------------------------------------<\/span>\r\n<span class=\"n\">Silent<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">1<\/span>\r\n<span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\\\\test1\"<\/span>\t\t<span class=\"c\">'string to search for<\/span>\r\n<span class=\"n\">ChangePathTo<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\\\\test2\"<\/span>\t\t<span class=\"c\">'string to replace with<\/span>\r\n<span class=\"n\">OutputFile<\/span> <span class=\"o\">=<\/span> <span class=\"n\">WshSysEnv<\/span><span class=\"p\">(<\/span><span class=\"s\">\"TEMP\"<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\\\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"migrate_shortcuts_log.htm\"<\/span>\r\n<span class=\"n\">RootFolder<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"c:\\shortcut\"<\/span>\r\n<span class=\"c\">'--------------------------------------------------------------------<\/span>\r\n\r\n<span class=\"n\">CurTime<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Now<\/span>\r\n<span class=\"n\">OSType<\/span> <span class=\"o\">=<\/span> <span class=\"n\">WshSysEnv<\/span><span class=\"p\">(<\/span><span class=\"s\">\"OS\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"n\">WinDirectory<\/span> <span class=\"o\">=<\/span> <span class=\"n\">WshSysEnv<\/span><span class=\"p\">(<\/span><span class=\"s\">\"WINDIR\"<\/span><span class=\"p\">)<\/span>\r\n\r\n \r\n<span class=\"k\">If<\/span> <span class=\"n\">Silent<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span> <span class=\"k\">Then<\/span>\r\n\t<span class=\"n\">CheckFolder<\/span> <span class=\"o\">=<\/span> <span class=\"n\">RootFolder<\/span>\r\n<span class=\"k\">Else<\/span>\r\n\r\n<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\r\n<span class=\"k\">If<\/span> <span class=\"n\">CheckFolder<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span> <span class=\"k\">Then<\/span>\r\n\t\r\n  <span class=\"k\">If<\/span> <span class=\"n\">OSType<\/span> <span class=\"o\">&lt;&gt;<\/span> <span class=\"s\">\"Windows_NT\"<\/span> <span class=\"k\">Then<\/span>\r\n\t<span class=\"c\">'Windows 9x\/Me desktop folder<\/span>\r\n\t<span class=\"n\">CheckFolder<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Windirectory<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\\desktop\"<\/span> \r\n  <span class=\"k\">Else<\/span>\r\n\t<span class=\"c\">'Windows NT\/2k\/XP desktop folder<\/span>\r\n\t<span class=\"n\">CheckFolder<\/span> <span class=\"o\">=<\/span> <span class=\"n\">userprofile<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\\desktop\"<\/span>\r\n  <span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\r\n<span class=\"c\">'check to see if ouputfile exists or not, deletes it if it does<\/span>\r\n<span class=\"k\">If<\/span> <span class=\"n\">CheckFileExists<\/span><span class=\"p\">(<\/span><span class=\"n\">OutputFile<\/span><span class=\"p\">)<\/span> <span class=\"k\">Then<\/span>\r\n\t<span class=\"k\">Set<\/span> <span class=\"n\">oldfile<\/span> <span class=\"o\">=<\/span> <span class=\"n\">fso<\/span><span class=\"p\">.<\/span><span class=\"n\">GetFile<\/span><span class=\"p\">(<\/span><span class=\"n\">OutputFile<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">oldfile<\/span><span class=\"p\">.<\/span><span class=\"n\">Delete<\/span>\r\n<span class=\"k\">Else<\/span>\r\n\t<span class=\"c\">'wscript.echo oldfile &amp; \" does not yet exist.\"<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\r\n<span class=\"k\">If<\/span> <span class=\"n\">Silent<\/span> <span class=\"o\">&lt;=<\/span> <span class=\"mi\">1<\/span> <span class=\"k\">Then<\/span>\r\n\t<span class=\"k\">Call<\/span> <span class=\"n\">CServer<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\r\n<span class=\"c\">'Bring up inputbox for old server string<\/span>\r\n<span class=\"k\">Sub<\/span> <span class=\"nf\">CServer<\/span>\r\n<span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">=<\/span> <span class=\"n\">InputBox<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"Type the string of text that you wish to\"<\/span><span class=\"n\">_<\/span>\r\n<span class=\"o\">&amp;<\/span> <span class=\"s\">\" replace in your shortcuts (LNK Files).\"<\/span><span class=\"p\">,<\/span><span class=\"s\">\"Enter text string to replace\"<\/span><span class=\"p\">,<\/span><span class=\"n\">ChangePathFrom<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">=<\/span> <span class=\"n\">LCase<\/span><span class=\"p\">(<\/span><span class=\"n\">ChangePathFrom<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">Check4FromSlash<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Right<\/span><span class=\"p\">(<\/span><span class=\"n\">ChangePathFrom<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">VarLengthCPF<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Len<\/span><span class=\"p\">(<\/span><span class=\"n\">ChangePathFrom<\/span><span class=\"p\">)<\/span>\r\n\t\r\n\t<span class=\"k\">If<\/span> <span class=\"n\">Check4FromSlash<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\\\"<\/span> <span class=\"k\">Then<\/span>\r\n\t\t<span class=\"n\">VarLengthCPF<\/span> <span class=\"o\">=<\/span> <span class=\"n\">VarLengthCPF<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span>\r\n\t\t<span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Left<\/span><span class=\"p\">(<\/span><span class=\"n\">ChangePathFrom<\/span><span class=\"p\">,<\/span> <span class=\"n\">VarLengthCPF<\/span><span class=\"p\">)<\/span>\r\n\t\t<span class=\"k\">If<\/span> <span class=\"n\">Silent<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span> <span class=\"k\">Then<\/span>\r\n\t\t\t<span class=\"n\">wscript<\/span><span class=\"p\">.<\/span><span class=\"n\">echo<\/span> <span class=\"s\">\"Now Removing trailing '\\' from \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\".\"<\/span>\r\n\t\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\r\n\t\r\n\t<span class=\"k\">If<\/span> <span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span> <span class=\"k\">Then<\/span>\r\n\t\t<span class=\"n\">wscript<\/span><span class=\"p\">.<\/span><span class=\"n\">quit<\/span>\r\n\t<span class=\"k\">Else<\/span>\r\n\t\t<span class=\"k\">Call<\/span> <span class=\"n\">NServer<\/span>\r\n\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\t\r\n<span class=\"k\">End<\/span> <span class=\"k\">Sub<\/span>\r\n\r\n<span class=\"c\">'Bring up inputbox for new server string<\/span>\r\n<span class=\"k\">Sub<\/span> <span class=\"nf\">NServer<\/span>\r\n<span class=\"c\">'wscript.echo changepathfrom<\/span>\r\n<span class=\"n\">ChangePathTo<\/span> <span class=\"o\">=<\/span> <span class=\"n\">InputBox<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"Enter the string of text you would like to \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\"<\/span><span class=\"n\">_<\/span>\r\n<span class=\"o\">&amp;<\/span> <span class=\"s\">\" replace instances of \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\"<\/span><span class=\"n\">_<\/span>\r\n<span class=\"o\">&amp;<\/span> <span class=\"s\">\" with.\"<\/span><span class=\"p\">,<\/span><span class=\"s\">\"Enter new text string\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\".\"<\/span><span class=\"p\">,<\/span><span class=\"n\">ChangePathTo<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">ChangePathTo<\/span> <span class=\"o\">=<\/span> <span class=\"n\">LCase<\/span><span class=\"p\">(<\/span><span class=\"n\">ChangePathTo<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">Check4ToSlash<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Right<\/span><span class=\"p\">(<\/span><span class=\"n\">ChangePathTo<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">VarLengthCPT<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Len<\/span><span class=\"p\">(<\/span><span class=\"n\">ChangePathTo<\/span><span class=\"p\">)<\/span>\r\n\t\r\n\t<span class=\"k\">If<\/span> <span class=\"n\">Check4ToSlash<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\\\"<\/span> <span class=\"k\">Then<\/span>\r\n\t\t<span class=\"n\">VarLengthCPT<\/span> <span class=\"o\">=<\/span> <span class=\"n\">VarLengthCPT<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span>\r\n\t\t<span class=\"n\">ChangePathTo<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Left<\/span><span class=\"p\">(<\/span><span class=\"n\">ChangePathTo<\/span><span class=\"p\">,<\/span> <span class=\"n\">VarLengthCPT<\/span><span class=\"p\">)<\/span>\r\n\t\t<span class=\"k\">If<\/span> <span class=\"n\">Silent<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span> <span class=\"k\">Then<\/span>\r\n\t\t\t<span class=\"n\">wscript<\/span><span class=\"p\">.<\/span><span class=\"n\">echo<\/span> <span class=\"s\">\"Now Removing trailing '\\' from \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">ChangePathTo<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\".\"<\/span>\r\n\t\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\t<span class=\"k\">If<\/span> <span class=\"n\">ChangePathTo<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span> <span class=\"k\">Then<\/span> \r\n\t\t<span class=\"k\">Call<\/span> <span class=\"n\">CServer<\/span>\r\n\t<span class=\"k\">Else<\/span> \r\n\t\t<span class=\"k\">Call<\/span> <span class=\"n\">CFolder<\/span>\r\n\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">Sub<\/span>\r\n\r\n<span class=\"c\">'Bring up inputbox for root folder to search (recursive)<\/span>\r\n<span class=\"k\">Sub<\/span> <span class=\"nf\">CFolder<\/span>\r\n<span class=\"n\">CheckFolder<\/span> <span class=\"o\">=<\/span> <span class=\"n\">InputBox<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"Type the root folder path that you wish to\"<\/span><span class=\"n\">_<\/span>\r\n<span class=\"o\">&amp;<\/span> <span class=\"s\">\"start your scan from (recursive).\"<\/span><span class=\"p\">,<\/span><span class=\"s\">\"Begin shortcut (lnk) scan\"<\/span><span class=\"n\">_<\/span>\r\n<span class=\"o\">&amp;<\/span> <span class=\"s\">\"from:\"<\/span><span class=\"p\">,<\/span><span class=\"n\">CheckFolder<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"k\">If<\/span> <span class=\"n\">CheckFolder<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span> <span class=\"k\">Then<\/span>\r\n\t\t<span class=\"k\">Call<\/span> <span class=\"n\">NServer<\/span>\r\n\r\n\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">Sub<\/span>\r\n\r\n<span class=\"c\">'Start writing the HTM Log file...<\/span>\r\n<span class=\"k\">Set<\/span> <span class=\"n\">w<\/span> <span class=\"o\">=<\/span> <span class=\"n\">fso<\/span><span class=\"p\">.<\/span><span class=\"n\">OpenTextFile<\/span> <span class=\"p\">(<\/span><span class=\"n\">OutputFile<\/span><span class=\"p\">,<\/span> <span class=\"n\">ForAppending<\/span><span class=\"p\">,<\/span> <span class=\"k\">True<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;html&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;title&gt;Changing Shortcuts in root folder \"<\/span><span class=\"n\">_<\/span>\r\n\t <span class=\"o\">&amp;<\/span> <span class=\"n\">CheckFolder<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"&lt;\/title&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;table BORDER=0 width=100% cellspacing=0 cellpadding=3&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;tr&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;th bgcolor=#000080 colspan=3 width=100&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;p align=left&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;\/th&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;\/tr&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;h0&gt;&lt;B&gt;&lt;font face=Arial color=#000033 size=2&gt;\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\"Shortcuts located in: &lt;font color=#CC0000&gt; \"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"n\">CheckFolder<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\" &lt;font face=Arial color=#000033 size=2&gt;,\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\" searching recursively at \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">CurTime<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"&lt;\/B&gt;&lt;\/font&gt;&lt;\/h0&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;TR bgcolor=gray colspan=3 width=100&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;TD&gt;&lt;font face=Arial size=1 color=white&gt; Shortcut Path\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\"&lt;\/font&gt;&lt;\/TD&gt;\"<\/span><span class=\"p\">)<\/span>\t\t\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;TD&gt;&lt;font face=Arial size=1 color=white&gt; Target Path\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\"&lt;\/font&gt;&lt;\/TD&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;TD&gt;&lt;font face=Arial size=1 color=white&gt; Updated to\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\"&lt;\/font&gt;&lt;\/TD&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;\/TR&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"k\">If<\/span> <span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span> <span class=\"k\">Then<\/span>\r\n\t<span class=\"n\">wscript<\/span><span class=\"p\">.<\/span><span class=\"n\">echo<\/span> <span class=\"s\">\"You have not specified a source string to change.\"<\/span>\r\n\t<span class=\"k\">Call<\/span> <span class=\"n\">Cserver<\/span>\r\n<span class=\"k\">ElseIf<\/span> <span class=\"n\">ChangePathTo<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span> <span class=\"k\">Then<\/span> \r\n\t<span class=\"n\">wscript<\/span><span class=\"p\">.<\/span><span class=\"n\">echo<\/span> <span class=\"s\">\"You have not specified a new string name to\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\" replace\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\" with.\"<\/span>\r\n\t<span class=\"k\">Call<\/span> <span class=\"n\">Nserver<\/span>\r\n<span class=\"k\">ElseIf<\/span> <span class=\"n\">CheckFolder<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span> <span class=\"k\">Then<\/span>\r\n\t<span class=\"n\">wscript<\/span><span class=\"p\">.<\/span><span class=\"n\">echo<\/span> <span class=\"s\">\"You must specify a root folder to begin your\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\" search from.\"<\/span>\r\n\t<span class=\"k\">Call<\/span> <span class=\"n\">CFolder<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\r\n<span class=\"c\">'process the shortcuts<\/span>\r\n<span class=\"n\">ModifyLinks<\/span> <span class=\"n\">CheckFolder<\/span>\r\n\r\n<span class=\"k\">Sub<\/span> <span class=\"nf\">ModifyLinks<\/span> <span class=\"p\">(<\/span><span class=\"n\">foldername<\/span><span class=\"p\">)<\/span>\r\n\r\n   <span class=\"k\">dim<\/span> <span class=\"n\">file<\/span>        <span class=\"c\">'for stepping through the files collection        '<\/span>\r\n   <span class=\"k\">dim<\/span> <span class=\"n\">folder<\/span>      <span class=\"c\">'for stepping through the subfolders collection   '<\/span>\r\n   <span class=\"k\">dim<\/span> <span class=\"n\">fullname<\/span>    <span class=\"c\">'fully qualified link file name                   '<\/span>\r\n   <span class=\"k\">dim<\/span> <span class=\"n\">link<\/span>        <span class=\"c\">'object connected to the link file                '<\/span>\r\n\r\n   <span class=\"c\">'process all the files in the folder<\/span>\r\n   <span class=\"k\">For<\/span> <span class=\"k\">each<\/span> <span class=\"n\">file<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">fso<\/span><span class=\"p\">.<\/span><span class=\"n\">GetFolder<\/span><span class=\"p\">(<\/span><span class=\"n\">foldername<\/span><span class=\"p\">).<\/span><span class=\"n\">Files<\/span>\r\n\r\n     <span class=\"c\">'check only link files<\/span>\r\n     <span class=\"k\">If<\/span> <span class=\"n\">strcomp<\/span><span class=\"p\">(<\/span><span class=\"n\">right<\/span><span class=\"p\">(<\/span><span class=\"n\">file<\/span><span class=\"p\">.<\/span><span class=\"n\">name<\/span><span class=\"p\">,<\/span><span class=\"mi\">4<\/span><span class=\"p\">),<\/span><span class=\"s\">\".lnk\"<\/span><span class=\"p\">,<\/span><span class=\"n\">vbTexctCompare<\/span><span class=\"p\">)<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span> <span class=\"k\">then<\/span>\r\n\r\n         <span class=\"c\">'Find full path of shortcut<\/span>\r\n         <span class=\"n\">fullname<\/span> <span class=\"o\">=<\/span> <span class=\"n\">fso<\/span><span class=\"p\">.<\/span><span class=\"n\">GetAbsolutePathName<\/span><span class=\"p\">(<\/span><span class=\"n\">file<\/span><span class=\"p\">)<\/span>\r\n\r\n         <span class=\"c\">'Find full path of target within shortcut<\/span>\r\n         <span class=\"k\">set<\/span> <span class=\"n\">link<\/span> <span class=\"o\">=<\/span> <span class=\"n\">wso<\/span><span class=\"p\">.<\/span><span class=\"n\">CreateShortcut<\/span><span class=\"p\">(<\/span><span class=\"n\">fullname<\/span><span class=\"p\">)<\/span>\r\n         <span class=\"n\">targetpath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">LCase<\/span><span class=\"p\">(<\/span><span class=\"n\">link<\/span><span class=\"p\">.<\/span><span class=\"n\">targetpath<\/span><span class=\"p\">)<\/span>\r\n         \r\n         <span class=\"n\">oldfull<\/span> <span class=\"o\">=<\/span> <span class=\"n\">fullname<\/span>\r\n\t <span class=\"n\">oldlink<\/span> <span class=\"o\">=<\/span> <span class=\"n\">targetpath<\/span>\r\n \t <span class=\"n\">newlink<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"Not Updated\"<\/span>\r\n \t \r\n\t<span class=\"c\">'Displays current shortcut that is being checked (good for<\/span>\r\n\t<span class=\"c\">' troubleshooting the script).<\/span>\r\n\t<span class=\"c\">'If Silent = 0 Then <\/span>\r\n\t\t<span class=\"c\">'MsgBox \"Checking shortcut: \" &amp; fullname &amp; \".\" &amp; VBCrlf_<\/span>\r\n\t\t<span class=\"c\">'&amp; \"Shortcut target: \" &amp; targetpath<\/span>\r\n\t<span class=\"c\">'End If<\/span>\r\n\t\t\r\n    <span class=\"c\">'If the current server (one you want to change) is found in the<\/span>\r\n    <span class=\"c\">' target path, then run the following code<\/span>\r\n    <span class=\"k\">If<\/span> <span class=\"n\">InStr<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">targetpath<\/span><span class=\"p\">,<\/span> <span class=\"n\">ChangePathFrom<\/span><span class=\"p\">)<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span> <span class=\"k\">Then<\/span> \r\n\t<span class=\"n\">sChangeTargetTo<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span>\r\n\t<span class=\"n\">sChangePathTo<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span>\r\n\t\r\n\t<span class=\"c\">'Set numerical length of full target path<\/span>\r\n\t<span class=\"n\">VarLengthPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Len<\/span><span class=\"p\">(<\/span><span class=\"n\">targetpath<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"c\">'Set numerical length of ChangePathFrom<\/span>\r\n\t<span class=\"n\">VarLengthCPF<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Len<\/span><span class=\"p\">(<\/span><span class=\"n\">ChangePathFrom<\/span><span class=\"p\">)<\/span>\r\n\t\r\n\t<span class=\"c\">'Find out what's between character 0 and where changepathfrom starts<\/span>\r\n\t<span class=\"n\">VarBeginPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">InStr<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">targetpath<\/span><span class=\"p\">,<\/span> <span class=\"n\">ChangePathFrom<\/span><span class=\"p\">)<\/span>\r\n\t\r\n\t<span class=\"c\">'Subtract 1 from where it begins (all text begins at 1 in a string)<\/span>\r\n\t<span class=\"c\">'This is so you will have a '0' value if you type in a root drive or <\/span>\r\n\t<span class=\"c\">'UNC to replace - there shouldn't be anything that appears before <\/span>\r\n\t<span class=\"c\">''c:\\' or '\\\\server' etc.<\/span>\r\n\t<span class=\"n\">VarBeginPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">VarBeginPath<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span>\r\n\t\r\n\t<span class=\"c\">'Parse actual text prior to search string to replace<\/span>\r\n\t<span class=\"n\">BeginPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Null<\/span>\r\n\t<span class=\"n\">BeginPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Left<\/span><span class=\"p\">(<\/span><span class=\"n\">targetpath<\/span><span class=\"p\">,<\/span> <span class=\"n\">VarBeginPath<\/span><span class=\"p\">)<\/span>\r\n\t\r\n\t<span class=\"c\">'wscript.echo \"VarBeginPath is: \" &amp; VarBeginPath &amp; \".  \" &amp; BeginPath<\/span>\r\n\r\n\t<span class=\"c\">'Find out how many characters are left after subtracting the beginpath <\/span>\r\n\t<span class=\"c\">'and search strings from the whole path<\/span>\r\n\t<span class=\"n\">VarEndPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">VarLengthPath<\/span> <span class=\"o\">-<\/span> <span class=\"p\">(<\/span><span class=\"n\">VarBeginPath<\/span> <span class=\"o\">+<\/span> <span class=\"n\">VarLengthCPF<\/span><span class=\"p\">)<\/span>\r\n        \r\n\t<span class=\"c\">'Find out what text appears after the search string<\/span>\r\n\t<span class=\"n\">EndPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Right<\/span><span class=\"p\">(<\/span><span class=\"n\">targetpath<\/span><span class=\"p\">,<\/span> <span class=\"n\">VarEndPath<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"c\">'wscript.echo EndPath<\/span>\r\n        \r\n        <span class=\"n\">workingpath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">link<\/span><span class=\"p\">.<\/span><span class=\"n\">workingdirectory<\/span>\r\n        \r\n\t<span class=\"c\">'Set variable to text before\/search string\/text after, so you get<\/span>\r\n\t<span class=\"c\">'something like: c:\\stuffbeforestring\\mysearchstring\\stuffafterstring<\/span>\r\n\t<span class=\"c\">'or c:\\temp\\docs\\mysearchstring\\test.doc<\/span>\r\n        <span class=\"n\">sChangePathTo<\/span> <span class=\"o\">=<\/span> <span class=\"n\">BeginPath<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">ChangePathTo<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">EndPath<\/span>\r\n        <span class=\"c\">'wscript.echo \"ChangePathTo is: \" &amp; ChangePathTo<\/span>\r\n\t\r\n\t<span class=\"c\">'If there is no working directory, then text will show 'not set' during<\/span>\r\n\t<span class=\"c\">'script execution<\/span>\r\n\t<span class=\"k\">If<\/span> <span class=\"n\">workingpath<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span> <span class=\"k\">Then<\/span>\r\n\t\t<span class=\"n\">workingpath<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"not set\"<\/span>\r\n\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\r\n\t\t\r\n\t<span class=\"c\">'if you are running in verbose mode, you will be prompted with<\/span>\r\n\t<span class=\"c\">'each shortcut and working folder.<\/span>\r\n\t<span class=\"k\">If<\/span> <span class=\"n\">Silent<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span> <span class=\"k\">Then<\/span>\r\n\t\t<span class=\"n\">MyVar<\/span> <span class=\"o\">=<\/span> <span class=\"n\">MsgBox<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"Path contains \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">ChangePathFrom<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\".\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\"<\/span><span class=\"n\">_<\/span>\r\n\t\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\"  LNK file's full target path is: \"<\/span><span class=\"n\">_<\/span>\r\n\t\t<span class=\"o\">&amp;<\/span> <span class=\"n\">targetpath<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\".\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"  Working path is \"<\/span><span class=\"n\">_<\/span>\r\n\t\t<span class=\"o\">&amp;<\/span> <span class=\"n\">workingpath<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\".\"<\/span><span class=\"p\">,<\/span><span class=\"mi\">64<\/span><span class=\"p\">,<\/span> <span class=\"n\">fullname<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\t\r\n\t<span class=\"c\">'Sometimes shortcuts don't have working dirs (not sure why)<\/span>\r\n\t<span class=\"c\">'If there is a working dir, then run following code<\/span>\r\n\t<span class=\"k\">If<\/span> <span class=\"n\">workingpath<\/span> <span class=\"o\">&lt;&gt;<\/span> <span class=\"s\">\"not set\"<\/span> <span class=\"k\">Then<\/span> \r\n\t\t\r\n\t\t<span class=\"n\">VarBeginPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">InStr<\/span><span class=\"p\">(<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span> <span class=\"n\">workingpath<\/span><span class=\"p\">,<\/span> <span class=\"n\">ChangePathFrom<\/span><span class=\"p\">)<\/span>\r\n\t\t<span class=\"k\">If<\/span> <span class=\"n\">VarBeginPath<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span> <span class=\"k\">Then<\/span>\r\n\t\t\t<span class=\"n\">VarBeginPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">VarBeginPath<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span>\r\n\t\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\t\t\r\n\t\t<span class=\"c\">'Parse actual text prior to search string to replace<\/span>\r\n\t\t<span class=\"n\">BeginPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Null<\/span>\r\n\t\t<span class=\"c\">'wscript.echo \"VarBeginPath \" &amp; VarBeginPath<\/span>\r\n\t\t<span class=\"n\">BeginPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Left<\/span><span class=\"p\">(<\/span><span class=\"n\">workingpath<\/span><span class=\"p\">,<\/span> <span class=\"n\">VarBeginPath<\/span><span class=\"p\">)<\/span>\r\n\t\t<span class=\"c\">'wscript.echo \"Working beginpath is: \" &amp; BeginPath<\/span>\r\n\t\t\r\n\t\t<span class=\"c\">'Set numerical length of working directory<\/span>\r\n\t\t<span class=\"n\">VarLengthWorking<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Len<\/span><span class=\"p\">(<\/span><span class=\"n\">link<\/span><span class=\"p\">.<\/span><span class=\"n\">workingdirectory<\/span><span class=\"p\">)<\/span>\r\n\t\r\n\t\t<span class=\"n\">VarEndPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">VarLengthWorking<\/span> <span class=\"o\">-<\/span> <span class=\"p\">(<\/span><span class=\"n\">VarBeginPath<\/span> <span class=\"o\">+<\/span> <span class=\"n\">VarLengthCPF<\/span><span class=\"p\">)<\/span>\r\n\t\t<span class=\"c\">'wscript.echo \"Working path number count is: \" &amp; varlengthworking &amp; \"\"_<\/span>\r\n\t\t<span class=\"c\">'&amp; VBCRLF &amp; \"working path end <\/span>\r\n\t\t<span class=\"c\">'wscript.echo \"VarEndPath = \" &amp; VarEndPath &amp; \" = \" &amp; VarLengthWorking &amp; \"\"_<\/span>\r\n\t\t<span class=\"c\">'&amp; \" - (\" &amp; VarBeginPath &amp; \" + \" &amp; VarLengthCPF &amp; \")\"<\/span>\r\n\t\t<span class=\"c\">'Find out what text appears after the search string<\/span>\r\n\t\t\r\n\t\t<span class=\"k\">If<\/span> <span class=\"n\">VarEndPath<\/span> <span class=\"o\">&gt;=<\/span> <span class=\"mi\">0<\/span> <span class=\"k\">Then<\/span>\r\n\t\t\t<span class=\"n\">EndPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Right<\/span><span class=\"p\">(<\/span><span class=\"n\">workingpath<\/span><span class=\"p\">,<\/span> <span class=\"n\">VarEndPath<\/span><span class=\"p\">)<\/span>\r\n\t\t\t<span class=\"n\">sChangeTargetTo<\/span> <span class=\"o\">=<\/span> <span class=\"n\">BeginPath<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">ChangePathTo<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">EndPath<\/span>\r\n\r\n\t\t\t<span class=\"c\">'wscript.echo \"ChangeTargetTo is: \" &amp; sChangeTargetTo<\/span>\r\n\t\t\t<span class=\"n\">WorkingMSG<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"Also change working directory to \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">sChangeTargetTo<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"?\"<\/span>\r\n\t\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\t\t\r\n\t\t<span class=\"c\">'wscript.echo \"End of working folder :\" &amp; EndPath<\/span>\r\n\r\n\t<span class=\"k\">Else<\/span>\r\n\t\t<span class=\"n\">link<\/span><span class=\"p\">.<\/span><span class=\"n\">workingdirectory<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span>\r\n\t\t<span class=\"n\">WorkingMSG<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"No working directory will be set at this time.\"<\/span>\r\n\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\t\r\n\t<span class=\"c\">'wscript.echo \"Path of shortcut is \" &amp; targetpath &amp; \"\"_<\/span>\r\n\t<span class=\"c\">'&amp; VBCRLF &amp; \".  Working folder is \" &amp; workingpath &amp; \".\"<\/span>\r\n\t\r\n\t<span class=\"c\">'Display input box to modify each shortcut as the script finds them<\/span>\r\n\t<span class=\"k\">If<\/span> <span class=\"n\">Silent<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span> <span class=\"k\">Then<\/span>\r\n\t\t<span class=\"n\">ModifyPath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">InputBox<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"Modifying \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">fullname<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\".\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">VBCRLF<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\"<\/span><span class=\"n\">_<\/span>\r\n\t\t<span class=\"o\">&amp;<\/span> <span class=\"n\">VBCRLF<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"Modify path for \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">targetpath<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\" \"<\/span><span class=\"n\">_<\/span>\r\n\t\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\"and replace with \"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">sChangePathTo<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"?\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">VBCRLF<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">VBCRLF<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\"<\/span><span class=\"n\">_<\/span>\r\n\t\t<span class=\"o\">&amp;<\/span> <span class=\"n\">WorkingMSG<\/span><span class=\"p\">,<\/span><span class=\"s\">\"\"<\/span><span class=\"n\">_<\/span>\r\n\t\t<span class=\"o\">&amp;<\/span> <span class=\"s\">\"Type 'yes' to modify\"<\/span><span class=\"p\">)<\/span>\r\n \t<span class=\"k\">ElseIf<\/span> <span class=\"n\">Silent<\/span> <span class=\"o\">&gt;=<\/span> <span class=\"mi\">1<\/span> <span class=\"k\">Then<\/span> \r\n \t\t<span class=\"n\">ModifyPath<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"yes\"<\/span>\r\n \t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\t\r\n \t\t<span class=\"k\">If<\/span> <span class=\"n\">ModifyPath<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"yes\"<\/span> <span class=\"k\">Then<\/span>\r\n\t\t\t<span class=\"n\">bgcolor<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"#99CCFF\"<\/span>\r\n\t\t\t<span class=\"c\">'Set link target path attribute to <\/span>\r\n\t\t\t<span class=\"n\">link<\/span><span class=\"p\">.<\/span><span class=\"n\">targetpath<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">sChangePathTo<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span>\r\n\t\t\r\n\t\t\t<span class=\"n\">newlink<\/span> <span class=\"o\">=<\/span> <span class=\"n\">link<\/span><span class=\"p\">.<\/span><span class=\"n\">targetpath<\/span>\r\n\r\n\t\t        <span class=\"c\">'wscript.echo newlink<\/span>\r\n\t\t        <span class=\"k\">If<\/span> <span class=\"n\">VarLengthWorking<\/span> <span class=\"o\">&lt;&gt;<\/span> <span class=\"s\">\"\"<\/span> <span class=\"k\">Then<\/span>\r\n\t\t\t\t<span class=\"c\">'Set link working dir attribute to <\/span>\r\n\t\t\t\t<span class=\"c\">' \\\\ChangePathToname\\workingpath<\/span>\r\n\t\t\t\t<span class=\"n\">link<\/span><span class=\"p\">.<\/span><span class=\"n\">workingdirectory<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">sChangeTargetTo<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span>\r\n\t\t\t<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\r\n\t\t<span class=\"c\">'Save the shortcut with the new information<\/span>\r\n\t\t<span class=\"n\">link<\/span><span class=\"p\">.<\/span><span class=\"n\">save<\/span>\r\n\t\t\r\n\t\t<span class=\"c\">'If answer above is anything but yes, the script will proceed <\/span>\r\n\t\t<span class=\"c\">' to the next shortcut<\/span>\r\n\t\t\r\n\t\t<span class=\"k\">Else<\/span>\r\n\r\n\t\t<span class=\"k\">End<\/span> <span class=\"k\">if<\/span>\r\n\t\r\n\t<span class=\"c\">'Clear link variable<\/span>\r\n      <span class=\"n\">MyPos<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span>\r\n      <span class=\"n\">MyPosEnd<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span>\r\n      <span class=\"k\">End<\/span> <span class=\"k\">if<\/span>\r\n      \r\n      <span class=\"c\">'write output to logfile<\/span>\r\n      <span class=\"k\">Call<\/span> <span class=\"n\">WriteEntry<\/span>   \r\n<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n\r\n   <span class=\"k\">Next<\/span>\r\n\r\n   <span class=\"c\">'process all the subfolders in the folder<\/span>\r\n   <span class=\"k\">For<\/span> <span class=\"k\">each<\/span> <span class=\"n\">folder<\/span> <span class=\"ow\">in<\/span> <span class=\"n\">fso<\/span><span class=\"p\">.<\/span><span class=\"n\">GetFolder<\/span><span class=\"p\">(<\/span><span class=\"n\">foldername<\/span><span class=\"p\">).<\/span><span class=\"n\">Subfolders<\/span>\r\n      <span class=\"k\">call<\/span> <span class=\"n\">ModifyLinks<\/span><span class=\"p\">(<\/span><span class=\"n\">folder<\/span><span class=\"p\">.<\/span><span class=\"n\">path<\/span><span class=\"p\">)<\/span>\r\n\r\n   <span class=\"k\">Next<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">Sub<\/span>\r\n\r\n<span class=\"c\">'--------------------------------------------------------------------------<\/span>\r\n<span class=\"c\">' Function WriteEntry to write change history to logfile in outputfile path <\/span>\r\n<span class=\"c\">'--------------------------------------------------------------------------<\/span>\r\n\r\n<span class=\"k\">Function<\/span> <span class=\"nf\">WriteEntry<\/span>\r\n   <span class=\"k\">If<\/span> <span class=\"n\">newlink<\/span> <span class=\"o\">&lt;&gt;<\/span> <span class=\"s\">\"0\"<\/span> <span class=\"k\">Then<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;TR bgcolor=\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">bgcolor<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;TD&gt;&lt;font face=Arial color=#000033 size=1&gt;\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"n\">oldfull<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"&lt;\/font&gt;&lt;\/TD&gt;\"<\/span><span class=\"p\">)<\/span>\t\t\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;TD&gt;&lt;font face=Arial color=#000033 size=1&gt;\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"n\">oldlink<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"&lt;\/font&gt;&lt;\/TD&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;TD&gt;&lt;font face=Arial color=#000033 size=1&gt;\"<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"\"<\/span><span class=\"n\">_<\/span>\r\n\t<span class=\"o\">&amp;<\/span> <span class=\"n\">newlink<\/span> <span class=\"o\">&amp;<\/span> <span class=\"s\">\"&lt;\/font&gt;&lt;\/TD&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\t<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">WriteLine<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;\/TR&gt;\"<\/span><span class=\"p\">)<\/span>\r\n   <span class=\"n\">oldfull<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"0\"<\/span>\r\n   <span class=\"n\">newlink<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"0\"<\/span>\r\n   <span class=\"n\">oldlink<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"0\"<\/span>\r\n   <span class=\"n\">bgcolor<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"white\"<\/span>\r\n   <span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">Function<\/span>\r\n\r\n<span class=\"c\">'----------------------------------------------------------------------------<\/span>\r\n<span class=\"c\">'Function to see if outputfile already exists<\/span>\r\n<span class=\"c\">'----------------------------------------------------------------------------<\/span>\r\n\r\n<span class=\"k\">Function<\/span> <span class=\"nf\">CheckFileExists<\/span><span class=\"p\">(<\/span><span class=\"n\">sFileName<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"k\">Dim<\/span> <span class=\"n\">FileSystemObject<\/span>\r\n<span class=\"k\">Set<\/span> <span class=\"n\">FileSystemObject<\/span> <span class=\"o\">=<\/span> <span class=\"n\">CreateObject<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Scripting.FileSystemObject\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"k\">If<\/span> <span class=\"p\">(<\/span><span class=\"n\">FileSystemObject<\/span><span class=\"p\">.<\/span><span class=\"n\">FileExists<\/span><span class=\"p\">(<\/span><span class=\"n\">sFileName<\/span><span class=\"p\">))<\/span> <span class=\"k\">Then<\/span>\r\n\t<span class=\"n\">CheckFileExists<\/span> <span class=\"o\">=<\/span> <span class=\"k\">True<\/span>\r\n<span class=\"k\">Else<\/span>\r\n\t<span class=\"n\">CheckFileExists<\/span> <span class=\"o\">=<\/span> <span class=\"k\">False<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n<span class=\"k\">Set<\/span> <span class=\"n\">FileSystemObject<\/span> <span class=\"o\">=<\/span> <span class=\"k\">Nothing<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">Function<\/span>\r\n\r\n<span class=\"n\">w<\/span><span class=\"p\">.<\/span><span class=\"n\">Writeline<\/span> <span class=\"p\">(<\/span><span class=\"s\">\"&lt;\/html&gt;\"<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"c\">'if silent = 2, then it will not open the log file<\/span>\r\n<span class=\"k\">If<\/span> <span class=\"n\">Silent<\/span> <span class=\"o\">&lt;=<\/span> <span class=\"mi\">1<\/span> <span class=\"k\">Then<\/span>\r\n\t<span class=\"c\">'set command variable with path in quotes (for long filenames)<\/span>\r\n\t<span class=\"n\">Command<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">OutputFile<\/span> <span class=\"o\">&amp;<\/span> <span class=\"n\">Chr<\/span><span class=\"p\">(<\/span><span class=\"mi\">34<\/span><span class=\"p\">)<\/span>\r\n\t\r\n\t<span class=\"c\">'run htm file in your default browser<\/span>\r\n\t<span class=\"n\">wso<\/span><span class=\"p\">.<\/span><span class=\"n\">Run<\/span> <span class=\"n\">Command<\/span>\r\n<span class=\"k\">End<\/span> <span class=\"k\">If<\/span>\r\n<span class=\"c\">'~~[\/script]~~<\/span><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Hat man viele Verkn\u00fcpfungen unter Windows die angepasst werden m\u00fcssen (z.B. weil sich ein Servername ge\u00e4ndert hat) kann man komplett die Chance nutzen, um alles mal aufzur\u00e4umen und nur die Links zu \u00e4ndern die man wirklich noch braucht oder:\u00a0<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-152","post","type-post","status-publish","format-standard","hentry","category-windows"],"_links":{"self":[{"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=\/wp\/v2\/posts\/152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=152"}],"version-history":[{"count":6,"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=\/wp\/v2\/posts\/152\/revisions"}],"predecessor-version":[{"id":158,"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=\/wp\/v2\/posts\/152\/revisions\/158"}],"wp:attachment":[{"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=152"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/giveback.danielmenzel.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}