Flasher
|
Posted: Wed Sep 25, 2019 13:05 Post subject: |
|
|
Hedin
См. памятку подфорума. Мой скрипт так выглядит:
Code: | '=============================== VBS ================================
' Скопировать полные имена выбранных объектов с переменными окружения
' Параметры: %Z%WL
'====================================================================
Option Explicit : Dim List, Dic, F, i, Keys, oList, K, All
If WSH.Arguments.Count Then List = WSH.Arguments(0) Else WSH.Quit
Set Dic = CreateObject("Scripting.Dictionary") : Dic.CompareMode = 1
With CreateObject("WScript.Shell").Environment("Process")
For Each F in Split("COMMANDER_INI COMMANDER_PATH COMMONPROGRAMW6432 " &_
"COMMONPROGRAMFILES(x86) COMMONPROGRAMFILES PUBLIC PROGRAMFILES(x86) " &_
"PROGRAMW6432 PROGRAMFILES WINDIR TMP TEMP LOCALAPPDATA APPDATA " &_
" USERPROFILE ALLUSERSPROFILE COMMANDER_DRIVE SYSTEMDRIVE HOMEDRIVE")
i = .Item(F) : If i <> "" Then If Not Dic.Exists(i) Then Dic.Add i, F
Next
End With : Keys = Dic.Keys
Set oList = CreateObject("Scripting.FileSystemObject").OpenTextFile(List,,,-1)
Do: F = oList.ReadLine
For i = 0 To Dic.Count - 1
K = Keys(i) : If InStr(1, F, K, 1) Then _
F = Replace(F, K, "%" & Dic(K) & "%", 1, -1, 1) : Exit For
Next
All = All & vbCrLf & F
Loop Until oList.AtEndOfStream : oList.Close
With CreateObject("SAPI.SpFileStream")
.Format.Type = 1 : .Open List, 3 : .Write Mid(All, 3) : .Close
End With
CreateObject("WScript.Shell").Run "%ComSpec% /q/c clip<" & List, 0
Dic.RemoveAll : Set Dic = Nothing : Set oList = Nothing |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|