・2018/11/09
ファイルの情報を右クリックの「送る」でクリップボードにコピーするアプリ WSHプログラム
(Windows Script Hostプログラムなのでユーザーが自由にカスタマイズ可能なファイル情報クリップボード コピー アプリ)
Tags: [Windowsアプリ]
●ファイルの更新日付とサイズの情報を簡単操作でクリップボードにコピーしたい!
下記の ShellExt x64 エクスプローラ用拡張メニューをダウンロード戴いた方からメールで「ファイルの更新日付とサイズの情報をコピーできないのか?」とお問い合わせを戴きました。
・2018/02/24
ShellExt x64 Windows 10、64bit対応、Vista/7対応のエクスプローラ用拡張メニュー
コンテクスト メニュー 拡張、右クリックでファイル名のコピー、テキスト/ 16進表示[Unicode対応]
「ファイル名」や「パス付きのファイル名」の情報をクリップボードにコピーする機能は有りますが、更新日付やサイズの情報をコピーする機能は有りませんでした。
と言う訳で、同様の機能を実現できるアプリを Windowsの WSH(Windows Script Host)プログラムで作成してみました。
WSHで作成する事で、更に細かい要望にユーザー自身で柔軟にカスタマイズ(改造)が可能となります。
デメリットとしては、Windows Script Hostの制限の為に対象とするファイルのファイル名が Shift JISである必要が有ります。UTF-8のファイル名では WSHプログラムが処理できないのでエラーになります。(ファイルの在るフォルダ名に関しても同様の制限が有ります)
また、Clip.exeと言う Windowsに付属のクリップボードアプリを使用しており、コマンドラインを経由する事から同じく Shift JIS制限が発生しています。
UTF-8対応が必要な場合は何かしらの「プログラム」を作成する必要が有ります。
●ファイル情報クリップボードコピー.vbs
・本ファイルは SHIFT-JISで保存
・ファイル情報クリップボードコピー.vbs にリネームする
・エクスプローラのアドレス欄に SendToを入力で「送る」設定フォルダに移動して、本 .vbsファイルをコピーする
・SendToフォルダに入れて、ファイルを「右クリック」「送る」での使用を想定
・ファイルの情報を「yyyy-mm-dd_hh-mm-ss 123,456,789」でクリップボードに保存する
・日本語ファイル名限定 文字コード SHIFT-JIS制限
ライセンスは
・GNU General Public License v3.0
GNU General Public License v3.0
ファイル情報クリップボードコピー.txt
' 本ファイルは SHIFT-JISで保存
' ファイル情報クリップボードコピー.vbs にリネームする
' エクスプローラのアドレス欄に SendToを入力で「送る」設定フォルダに移動して、本 .vbsファイルをコピーする
' SendToフォルダに入れて、ファイルを「右クリック」「送る」での使用を想定
' ファイルの情報を「yyyy-mm-dd_hh-mm-ss 123,456,789」でクリップボードに保存する
' 日本語ファイル名限定 文字コード SHIFT-JIS制限
' Copyright (c)2018 FREE WING, Y.Sakamoto
Set fso = CreateObject("Scripting.FileSystemObject")
str = ""
For I = 0 to Wscript.Arguments.Count-1
arg = Wscript.Arguments(I)
' ファイルかディレクトリかをチェック
If Not fso.FileExists(arg) Then
If Not fso.FolderExists(arg) Then
str = arg & " is Error"
Exit For
End If
Set f = fso.GetFolder(arg)
pathname = f.Name
str = pathname & " is Folder"
Exit For
End If
' ファイル情報を取得
Set f = fso.GetFile(arg)
' ファイルパス
filepath = f.Path
' ファイル名
filename = f.Name
' 作成日付
' datetime = f.DateCreated
' 更新日付
datetime = f.DateLastModified
' ファイルサイズ
sizeNum = f.Size
' 更新日付文字列整形、文字列置換
datetime = Replace(datetime, "/", "-")
datetime = Replace(datetime, ":", "-")
datetime = Replace(datetime, " ", "_")
' サイズ数値 3桁区切り文字列変換
sizeStr = FormatNumber(sizeNum, 0, -1, 0, -1)
' サイズ数値 3桁区切り無し文字列変換
' sizeStr = FormatNumber(sizeNum, 0, -1, 0, 0)
' 文字列作成
' str = str & filepath & "\"
' str = str & filename & " "
str = str & datetime & " "
str = str & sizeStr
' 複数処理の場合は改行する
str = str & vbCrLf
Set f = Nothing
' 複数処理の場合は Exitを削除する
' Exit For
Next
' Wscript.Echo str
Set fso = Nothing
' clip.exeで改行対応の文字列置換(不要)
' str = Replace(str, vbCrLf, vbNewLine)
' clip.exeでクリップボードに str文字列をコピー
Set WshShell = CreateObject("WScript.Shell")
WshShell.Exec("clip").StdIn.Write str
Set WshShell = Nothing
● Windows ファイルの右クリックの「送る」メニューの項目の場所に移動する方法
●その1
ファイルエクスプローラでファイルを右クリックした時のコンテキストメニューの「送る」の項目を編集する方法
マイコンピュータを開いて「sendto」を入力すると「送る」メニューの設定フォルダにジャンプできます。
・Windows ファイルの右クリックの「送る」メニューの項目の場所に移動する方法

・Windows ファイルの右クリックの「送る」メニューの項目の場所に移動する方法

・Windows ファイルの右クリックの「送る」メニューの項目の場所に移動する方法

●その2
Windows + Rキーで「ファイル名を指定して実行」を表示。
ファイル名を指定して実行で「shell:sendto」を入力して実行。
・Windows ファイルの右クリックの「送る」メニューの項目の場所に移動する方法

・Windows ファイルの右クリックの「送る」メニューの項目の場所に移動する方法

・Windows ファイルの右クリックの「送る」メニューの項目の場所に移動する方法

● WSH Windows Script Host プログラム解説
Set fso = CreateObject("Scripting.FileSystemObject")
ファイルの情報を操作するオブジェクトを作成する
Wscript.Arguments.Count
SendToで送られたファイルの数
Wscript.Arguments(n)
SendToで送られたファイルのファイル名
nは 0から始まる
If Not fso.FileExists(arg) Then
If Not fso.FolderExists(arg) Then
ファイルかディレクトリかをチェック
File オブジェクト
Folder オブジェクト
fso.GetParentFolderName(arg)
ファイルのパスを取得する
GetParentFolderName メソッド
指定されたパスの最後のファイルまたはフォルダの親フォルダの名前が入った文字列を返します。
fso.GetFileName(arg)
ファイル名を取得する
GetFileName メソッド
指定されたパスの最後のファイル名またはフォルダ名を返します。
fso.GetFile(arg)
ファイルの情報を取得
GetFile メソッド
指定されたパスに置かれているファイルに対応する File オブジェクトを返します。
f.Path
ファイルのパスを取得する(上記 GetParentFolderNameと同様)
f.Name
ファイル名を取得する(上記 GetFileNameと同様)
f.DateCreated
ファイルの作成日付
今回は「ファイルの更新日付」が必要と言う事で’文字でコメント(無効)している
f.DateLastModified
ファイルの更新日付
f.Size
ファイルサイズ
datetime = Replace(datetime, "/", "-")
datetime = Replace(datetime, ":", "-")
datetime = Replace(datetime, " ", "_")
更新日付文字列整形
「yyyy-mm-dd_hh-mm-ss」の形式で欲しいと言う事で文字列置換している
Replace 関数
指定された文字列の一部を、別の文字列で指定された回数分で置換した文字列を返します。
FormatNumber(sizeNum, 0, -1, 0, -1)
ファイルサイズを 3桁区切りで欲しいと言う事で FormatNumber命令を使用している
FormatNumber(sizeNum, 0, -1, 0, 0)
3桁区切り無しの場合は最後が 0
FormatNumber 関数
数値形式の文字列に書式設定して返す文字列処理関数です。
FormatNumber(Expression [,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])
引数 |
Expression | 必ず指定します。書式を変換する式を指定します。 |
NumDigitsAfterDecimal | 省略可能です。小数点以下に表示する桁数を表す数値を指定します。既定値は -1 で、[地域のプロパティ] の値を使用します。 |
IncludeLeadingDigit | 省略可能です。小数点の左側のゼロを表示するかどうかを表す定数を指定します。設定する値については、次の「設定値」を参照してください。 |
UseParensForNegativeNumbers | 省略可能です。負の値をかっこで囲むかどうかを表す定数を指定します。設定する値については、次の「設定値」を参照してください。 |
GroupDigits | 省略可能です。[コントロール パネル] で指定されている桁区切り記号を使用して、数値を区切るかどうかを表す定数を指定します。設定する値については、次の「設定値」を参照してください。 |
' str = str & vbCrLf
Exit For
一度に複数のファイルの処理は不要と言う事で「複数処理」を無効かしている
一度に複数のファイルの処理をする場合は「コメント」の内容に従って書き換える
WSH VBS 文字列の定数
str = Replace(str, vbCrLf, vbNewLine)
clip.exeコマンドで改行をする為に vbNewLineに置換している(実際は不要)
Set WshShell = CreateObject("WScript.Shell")
WScript.Shellオブジェクトを作成する
WshShell.Exec("clip").StdIn.Write str
clip.exeコマンドを実行してクリップボードに str変数の文字列をコピーする
(実行する一瞬、画面に実行ウィンドウが表示されます)
Exec メソッド
子コマンドシェルでアプリケーションを実行します。アプリケーションから StdIn/StdOut/StdErr ストリームにアクセスできます。
● clip.exeコマンド
(Work) Tool of the day - ‘clip.exe’
> clip.exe /?
CLIP
説明:
コマンド ライン ツールの出力を Windows クリップボードにリダイレクトします。
その出力されたテキストをほかのプログラムに貼り付けることができます。
パラメーター一覧:
/? このヘルプを表示します。
例:
DIR | CLIP 現在のディレクトリ一覧のコピーを Windows クリップボード
に貼り付けます。
CLIP < README.TXT readme.txt ファイルのテキストのコピーを Windows
クリップボードに貼り付けます。
● WSHからクリップボードを操作する方法
下記の外部ライブラリを使用して Windows APIを直接呼び出すらしい。
・DynamicWrapper
An Automation Object for Dynamic DLL Calls DynamicWrapper
・DynaCall
Born's Windows Scripting Host The DynaCall page
・SFC mini
SFC mini (ver 1.1)
・HTA HTML Applications
HTML Applications 概要 Microsoft Corporation
● UTF-8対応の追試、WSHや VBSで UTF-8でググると WSF Windows Script Fileが出てくる
WSHや VBSでの UTF-8対応でググると WSF Windows Script Fileなら UTF-8対応だよ、と出てきましたので追試しました。
結果は駄目でした。スクリプトファイル自体は UTF-8で書けて動きますが、引数の受け渡しが Shift JISのままでファイル名が文字化けしてファイルの処理で失敗します。
●検証結果:
arg = Wscript.Arguments(I)
で「送る」からファイル名を受け取った時点で文字化けしていました。その為にファイル操作でエラーが発生して動きませんでした。
WSFファイル内での UTF-8文字の処理は正しく行なわれました。
●結論:
WSF内部では UTF-8を処理できるが、Wscript.Arguments()による引数の受け渡しは UTF-8に対応していない。
UTF-8文字コードで保存する。BOMは有っても無くても大丈夫だった。
ファイル情報クリップボードコピー.wsf
<?xml version="1.0" encoding="utf-8" ?>
<package>
<job>
<runtime></runtime>
<script language="VBScript">
<![CDATA[
' Copyright (c)2018 FREE WING, Y.Sakamoto
Set fso = CreateObject("Scripting.FileSystemObject")
str = ""
For I = 0 to Wscript.Arguments.Count-1
arg = Wscript.Arguments(I)
' ファイルかディレクトリかチェック
If Not fso.FileExists(arg) Then
If Not fso.FolderExists(arg) Then
str = arg & " is Error"
Exit For
End If
Set f = fso.GetFolder(arg)
pathname = f.Name
str = pathname & " is Folder"
Exit For
End If
' ファイル情報を取得
Set f = fso.GetFile(arg)
' ファイルパス
filepath = f.Path
' ファイル名
filename = f.Name
' 作成日付
' datetime = f.DateCreated
' 更新日付
datetime = f.DateLastModified
' ファイルサイズ
sizeNum = f.Size
' 更新日付文字列整形、文字列置換
datetime = Replace(datetime, "/", "-")
datetime = Replace(datetime, ":", "-")
datetime = Replace(datetime, " ", "_")
' サイズ数値 3桁区切り文字列変換
sizeStr = FormatNumber(sizeNum, 0, -1, 0, -1)
' サイズ数値 3桁区切り無し文字列変換
' sizeStr = FormatNumber(sizeNum, 0, -1, 0, 0)
' 文字列作成
' str = str & filepath & "\"
' str = str & filename & " "
str = str & datetime & " "
str = str & sizeStr
' 複数処理の場合は改行する
str = str & vbCrLf
Set f = Nothing
' 複数処理の場合は Exitを削除する
' Exit For
Next
' Wscript.Echo str
Set fso = Nothing
' clip.exeで改行対応の文字列置換(不要)
' str = Replace(str, vbCrLf, vbNewLine)
' clip.exeでクリップボードに str文字列をコピー
Set WshShell = CreateObject("WScript.Shell")
WshShell.Exec("clip").StdIn.Write str
Set WshShell = Nothing
]]>
</script>
</job>
</package>
UTF-8対応検証その1、「あいう你好学习」を問題無く表示する。
<?xml version="1.0" encoding="utf-8" ?>
<package>
<job>
<runtime></runtime>
<script language="VBScript">
<![CDATA[
Wscript.Echo "あいう你好学习"
]]>
</script>
</job>
</package>
UTF-8対応検証その2、"C:\hogehoge\あいう你好学习.txt"ファイルの情報を問題無く取得して表示する。
<?xml version="1.0" encoding="utf-8" ?>
<package>
<job>
<runtime></runtime>
<script language="VBScript">
<![CDATA[
Set fso = CreateObject("Scripting.FileSystemObject")
arg = "C:\hogehoge\あいう你好学习.txt"
' ファイル情報を取得
Set f = fso.GetFile(arg)
filepath = f.Path
filename = f.Name
datetime = f.DateLastModified
sizeNum = f.Size
datetime = Replace(datetime, "/", "-")
datetime = Replace(datetime, ":", "-")
datetime = Replace(datetime, " ", "_")
sizeStr = FormatNumber(sizeNum, 0, -1, 0, -1)
' 文字列作成
str = str & filepath & "\"
str = str & filename & " "
str = str & datetime & " "
str = str & sizeStr
Wscript.Echo str
]]>
</script>
</job>
</package>
UTF-8対応検証その3、"C:\hogehoge\あいう你好学习.txt"ファイルを「送る」で実行すると、ファイル名が "C:\hogehoge\あいう?好学?.txt"に文字化けしている。
<?xml version="1.0" encoding="utf-8" ?>
<package>
<job>
<runtime></runtime>
<script language="VBScript">
<![CDATA[
arg = Wscript.Arguments(0)
Wscript.Echo arg
]]>
</script>
</job>
</package>
● WSFでの UTF-8ファイル名問題が解決しました!「鳴かぬなら 鳴かせてみせよう ホトトギス」
WSFを使用して UTF-8対応の場合の問題点と不具合の原因がわかりました。
問題の解決方法としては「送る」から UTF-8のファイル名を受け取り、それを文字化けしない状態で WSF側に渡せれば良い事になります。
ならば、ファイル名を文字化けしない状態で受け渡ししてやろうじゃないか!
と言う訳で、UTF-8のファイル名を変換処理する小さなプログラムを .NET C#で作成しました。
1) 「送る」から C#の変換プログラムを実行する
2) C#の変換プログラムで UTF-8の文字列を URLエンコードする
3) URLエンコードした内容を WSFプログラムに受け渡す
4) WSFプログラムは UTF-8のファイル名を処理できる
5) 結果オーライでバッチグー!
となり、一連のこの処理で問題無く UTF-8の文字コードのファイル名のファイル情報も WSF側で処理してクリップボードに情報をコピーできました。
ライセンスは
・GNU General Public License v3.0
GNU General Public License v3.0
C#側プログラム(.NET 2.0 ~ .NET 4.7に対応しています)
// .NET Framework 2.0 C#
// 引数を URLEncodeして第一引数の Windows Scriptプログラムを実行する
// Copyright (c)2018 FREE WING, Y.Sakamoto
using System.Web;
using System.Diagnostics;
namespace UrlEncode20Con
{
class Program
{
static void Main(string[] args)
{
string str = "";
bool isFirst = true;
foreach (string arg in args)
{
string argTmp = "";
// 最初の引数は実行コマンドなので UrlEncodeで変換しない
if (isFirst)
{
isFirst = false;
argTmp = arg;
}
else
{
// UrlEncodeで変換する(+文字は %2b、半角空白は +文字)
argTmp = HttpUtility.UrlEncode(arg);
// EscapeDataStringで変換する(上記文字の扱いが .NET 4.0以前と 4.5以降で異なる)
// argTmp = Uri.EscapeDataString(arg);
}
// 最初の引数は実行コマンドなので UrlEncodeで変換しない
if (isFirst)
{
isFirst = false;
argTmp = arg;
}
else
{
// UrlEncodeで変換する(+文字は %2b、半角空白は +文字)
argTmp = HttpUtility.UrlEncode(arg);
// EscapeDataStringで変換する(上記文字の扱いが .NET 4.0以前と 4.5以降で異なる)
// argTmp = Uri.EscapeDataString(arg);
}
// 確認用に表示する
// Console.WriteLine(str);
// 確認用に一時停止する
// using System.Threading;
// Thread.Sleep(3000);
// str文字列のコマンドを実行する
ProcessStartInfo ps = new ProcessStartInfo();
ps.FileName = "WScript.exe";
ps.Arguments = str;
Process.Start(ps);
}
}
}
URLエンコード処理に HttpUtility.UrlEncodeを使用しています。
・UrlEncode20Con.exeのショートカットを SendToフォルダに作成します。
・UrlEncode20Con.exeのショートカットを右クリックして「プロパティ」を開く
・リンク先の欄の後ろに 「ファイル情報クリップボードコピー.wsf」の「ファイルパス」を足す。
これで、UrlEncode20Con.exeプログラムの第一引数に WSFプログラムを指定します。
例:C:\Hoge\UrlEncode20Con.exe C:\Hoge\ファイル情報クリップボードコピー.wsf
URLデコード処理に対応した ファイル情報クリップボードコピー.wsf プログラム
URLデコード処理は下記の内容を使用しました。
Decoding URL encoded UTF-8 strings in VBScript
ファイル情報クリップボードコピー.wsf
<?xml version="1.0" encoding="utf-8" ?>
<package>
<job>
<runtime></runtime>
<script language="VBScript">
<![CDATA[
' Copyright (c)2018 FREE WING, Y.Sakamoto
' WScript.Echo URLDecode("Paris%20%E2%86%92%20Z%C3%BCrich")
Set fso = CreateObject("Scripting.FileSystemObject")
str = ""
For I = 0 to Wscript.Arguments.Count-1
arg = Wscript.Arguments(I)
' WScript.Echo arg
' +文字を半角空白に置換する
arg = Replace(arg, "+", " ")
' 引数の文字列を URLDecodeする
arg = URLDecode(arg)
' WScript.Echo arg
' ファイルかディレクトリかチェック
If Not fso.FileExists(arg) Then
If Not fso.FolderExists(arg) Then
str = arg & " is Error"
Exit For
End If
Set f = fso.GetFolder(arg)
pathname = f.Name
str = pathname & " is Folder"
Exit For
End If
' ファイル情報を取得
Set f = fso.GetFile(arg)
' ファイルパス
filepath = f.Path
' ファイル名
filename = f.Name
' 作成日付
' datetime = f.DateCreated
' 更新日付
datetime = f.DateLastModified
' ファイルサイズ
sizeNum = f.Size
' 更新日付文字列整形、文字列置換
datetime = Replace(datetime, "/", "-")
datetime = Replace(datetime, ":", "-")
datetime = Replace(datetime, " ", "_")
' サイズ数値 3桁区切り文字列変換
sizeStr = FormatNumber(sizeNum, 0, -1, 0, -1)
' サイズ数値 3桁区切り無し文字列変換
' sizeStr = FormatNumber(sizeNum, 0, -1, 0, 0)
' 文字列作成
' str = str & filepath & "\"
' str = str & filename & " "
str = str & datetime & " "
str = str & sizeStr
' 複数処理の場合は改行する
str = str & vbCrLf
Set f = Nothing
' 複数処理の場合は Exitを削除する
' Exit For
Next
' Wscript.Echo str
Set fso = Nothing
' clip.exeで改行対応の文字列置換(不要)
' str = Replace(str, vbCrLf, vbNewLine)
' clip.exeでクリップボードに str文字列をコピー
Set WshShell = CreateObject("WScript.Shell")
WshShell.Exec("clip").StdIn.Write str
Set WshShell = Nothing
' Decoding URL encoded UTF-8 strings in VBScript
' https://stackoverflow.com/questions/17880395/decoding-url-encoded-utf-8-strings-in-vbscript
Function URLDecode(str)
set list = CreateObject("System.Collections.ArrayList")
strLen = Len(str)
for i = 1 to strLen
sT = mid(str, i, 1)
if sT = "%" then
if i + 2 <= strLen then
list.Add cbyte("&H" & mid(str, i + 1, 2))
i = i + 2
end if
else
list.Add asc(sT)
end if
next
depth = 0
for each by in list.ToArray()
if by and &h80 then
if (by and &h40) = 0 then
if depth = 0 then Err.Raise 5
val = val * 2 ^ 6 + (by and &h3f)
depth = depth - 1
if depth = 0 then
sR = sR & chrw(val)
val = 0
end if
elseif (by and &h20) = 0 then
if depth > 0 then Err.Raise 5
val = by and &h1f
depth = 1
elseif (by and &h10) = 0 then
if depth > 0 then Err.Raise 5
val = by and &h0f
depth = 2
else
Err.Raise 5
end if
else
if depth > 0 then Err.Raise 5
sR = sR & chrw(by)
end if
next
if depth > 0 then Err.Raise 5
URLDecode = sR
End Function
]]>
</script>
</job>
</package>
●もう C#でプログラムしちゃってるから全部 C#にしちゃうおうか?
「YOU!作っちゃいなよ!」と言う事で C#で最後まで作りました。
UTF-8のファイル名に対応で、これ単体で目的を達成できます。
ソースコードも下記にあるので、C#命令が分かれば改造も自由自在です。
(著作権は放棄していません)
ライセンスは
・GNU General Public License v3.0
GNU General Public License v3.0
Microsoft Visual Studioでコンパイルできます。
Visual Studio Communityは無料。
Visual Studio 2017 ダウンロード
ClipFileInfo.cs
// .NET Framework 2.0 C#
// ClipFileInfo.exeを「送る」にコピーする。
// 使い方は http://www.neko.ne.jp/~freewing/software/sendto_file_info_copy_clipboard_wsh/
// Copyright (c)2018 FREE WING, Y.Sakamoto
using System;
using System.IO;
using System.Windows.Forms;
namespace ClipFileInfo
{
class Program
{
// Single Thread Apartment (STA) モード
// STAThreadAttribute
[STAThread]
static void Main(string[] args)
{
string str = "";
foreach (string arg in args)
{
string path = arg;
try
{
FileAttributes attributes = File.GetAttributes(path);
if ((attributes & FileAttributes.Directory) == FileAttributes.Directory)
{
continue;
}
}
catch (Exception)
{
continue;
}
string fileName = Path.GetFileName(path);
string directoryName = Path.GetDirectoryName(path);
DateTime lastWriteTime = File.GetLastWriteTime(path);
long fileSize = new FileInfo(path).Length;
// string dateStr = lastWriteTime.ToString("yyyy/MM/dd HH:mm:ss");
string lastWriteTimeStr = lastWriteTime.ToString("yyyy-MM-dd_HH-mm-ss");
string fileSizeStr = string.Format("{0:N0}", fileSize);
str += directoryName;
str += " ";
str += fileName;
str += " ";
str += lastWriteTimeStr;
str += " ";
str += fileSizeStr;
str += System.Environment.NewLine;
}
// 確認用に表示する
// Console.WriteLine(str);
// 確認用に一時停止する
// using System.Threading;
// System.Threading.Thread.Sleep(3000);
if (str.Length > 0)
{
Clipboard.Clear();
Clipboard.SetData(DataFormats.UnicodeText, str);
// Clipboard.SetDataObject(str, true);
}
}
}
}
●ファイルの右クリックのコンテキストメニューのメニュー項目として登録する場合
下記の内容のレジストリファイル ClipFileInfo.regを作成して登録します。
ClipFileInfo.reg
[HKEY_CLASSES_ROOT\*\shell\ClipFileInfo]
@="ファイル情報コピー"
[HKEY_CLASSES_ROOT\*\shell\ClipFileInfo\command]
@="C:\\hoge\\ClipFileInfo.exe \"%1\""
; wsfファイルの場合
; @="WScript.exe \"C:\\hoge\\ファイル情報クリップボードコピー.wsf\" \"%1\""
Tags: [Windowsアプリ]
[HOME]
|
[BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c)
2018 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator
http://www.neko.ne.jp/~freewing/software/sendto_file_info_copy_clipboard_wsh/