Giấu cmd cửa sổ sử dụng Phương pháp ShellExecute . Cài đặt đăng ký tiếp theo hoạt động cho một tệp duy nhất:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\MyCopyAsPath]
[HKEY_CLASSES_ROOT\*\shell\MyCopyAsPath\command]
@="wscript D:\\VB_scripts\\SU\\1007076.vbs \"%1\""
Ở đâu D:\VB_scripts\SU\1007076.vbs đọc như sau:
option explicit
On Error GoTo 0
If WScript.Arguments.Count = 1 Then
Dim objShell
Set objShell = CreateObject("shell.application")
objShell.ShellExecute "cmd.exe" _
, "/C echo(" & WScript.Arguments(0) & "|clip", "", "open", 0
Set objShell = nothing
Else
MsgBox "wrong numer of parameters"
End If
Wscript.Quit
Kịch bản trên trả về đường dẫn đầy đủ của một tệp (hoặc Mục tiêu của một phím tắt tập tin) và thêm CRLF (vận chuyển trở lại và linefeed). Bạn có thể bỏ qua CRLF sử dụng set /P lừa như sau:
objShell.ShellExecute "cmd.exe" _
, "/C <NUL set /P =""" & WScript.Arguments(0) & """|clip", "", "open", 0
Cải tiến tiếp theo để bao quanh đường dẫn trong một cặp " dấu ngoặc kép:
objShell.ShellExecute "cmd.exe" _
, "/C <NUL set /P =""""" & WScript.Arguments(0) & """""|clip", "", "open", 0
FYI, đây là khóa đăng ký lưu trữ Copy as Path trình đơn ngữ cảnh:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\CopyAsPathMenu]
"ProgrammaticAccessOnly"="Apartment"
[HKEY_CLASSES_ROOT\*\shell\CopyAsPathMenu\DropTarget]
"CLSID"="{f3d06e7c-1e45-4a26-847e-f9fcdee59be0}"
ShiftPhím khi bạn bấm chuột phải vào tệp / thư mục (hoặc thậm chí chọn), sau đó chọnCopy As Path.