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}"
Shift
Phí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
.