エクスプローラで、SHIFT キーを押しながら右クリックすると『パスとしてコピー』がありますが、ダブルクォートが付加されています( たいていはそのほうがいいのですが )ので、ダブルクォートのないパスを取得します▼ こんな感じで取得されます "C:\Program Files\7-Zip\7-zip.dll" filepath.vbs( SendTo ディレクトリに置いてください )
01.
Set
WshShell = Wscript.CreateObject(
"WScript.Shell"
)
02.
Set
Fso = Wscript.CreateObject(
"Scripting.FileSystemObject"
)
03.
04.
strTemp = WshShell.ExpandEnvironmentStrings(
"%temp%"
)
05.
strPath = strTemp &
"\__clipCommand.tmp"
06.
07.
Set
objHandle = Fso.OpenTextFile( strPath, 2,
True
)
08.
objHandle.Write Wscript.Arguments(0)
09.
10.
Call
WshShell.Run(
"cmd.exe /c clip < "
""
& strPath &
""
""
, 0,
True
)
▼ こうなります C:\Program Files\7-Zip\7-zip.dll 以下はディレクトリ部分を省いた名前の部分のみをクリップボードにコピーします。 filename.vbs( SendTo ディレクトリに置いてください )
01.
Set
WshShell = Wscript.CreateObject(
"WScript.Shell"
)
02.
Set
Fso = Wscript.CreateObject(
"Scripting.FileSystemObject"
)
03.
04.
strTemp = WshShell.ExpandEnvironmentStrings(
"%temp%"
)
05.
strPath = strTemp &
"\__clipCommand.tmp"
06.
07.
Set
objHandle = Fso.OpenTextFile( strPath, 2,
True
)
08.
strName = Wscript.Arguments(0)
09.
aPath = Split(strName,
"\"
)
10.
strName = aPath(Ubound(aPath))
11.
objHandle.Write strName
12.
13.
Call
WshShell.Run(
"cmd.exe /c clip < "
""
& strPath &
""
""
, 0,
True
)
▼ こうなります 7-zip.dll さらに以下では、複数ファイルを選択した場合のファイル名部分だけを取り出して複数行としてコピーします( 但しあまり大量のファイルは元々の文字列の制限によりエラーとなります filelist.vbs( SendTo ディレクトリに置いてください )
01.
Set
WshShell = Wscript.CreateObject(
"WScript.Shell"
)
02.
Set
Fso = Wscript.CreateObject(
"Scripting.FileSystemObject"
)
03.
04.
str =
""
05.
For
I = 0 to Wscript.Arguments.Count-1
06.
aData = Split( Wscript.Arguments(I),
"\"
)
07.
str = str & aData(Ubound(aData)) & vbCrLf
08.
Next
09.
10.
strTemp = WshShell.ExpandEnvironmentStrings(
"%temp%"
)
11.
strPath = strTemp &
"\__clipCommand.tmp"
12.
13.
Set
objHandle = Fso.OpenTextFile( strPath, 2,
True
)
14.
objHandle.Write str
15.
Call
WshShell.Run(
"cmd.exe /c clip < "
""
& strPath &
""
""
, 0,
True
)
▼ ファイルが多すぎて起きるエラー▼ うまくいくとこんな感じです nslookup.exe ntdll.dll odbc32.dll ole32.dll 操作補足 エクスプローラで SendTo フォルダに移動するには、アドレスバーに sendto と直接入力します。テンポラリフォルダは、%temp% と入力して下さい。
コードを直接ダウンロードした場合は、右クリックのプロパティより『許可する』にチェックしておきます。
![]()