パスを含め、現在選択されているファイル名をクリップボードにコピーする方法はありますか?理想的には、これは右クリックメニューを使用することです。
ファイル名、パス+ファイル名、ファイル名から拡張子を除いたものだけをコピーする機能など、ある程度の柔軟性が役立ちます。ただし、パス+ファイル名をコピーできる限り、これは必須ではありません。
このソリューションは、Windows XP、Windows Vista、およびWindows 7と互換性がある必要があります。
CopyFilenames を使用します
または
ファイル名をクリップボードユーティリティにコピー
Windows XPには、ファイル名のリストをクリップボードにコピーする方法がありません(これは、Vista以降のWindowsの以降のバージョンで変更されています)。MicrosoftKnowledge Baseの記事では、小さな* .bat DIRコマンドを実行し、その出力をファイルに収集し、そのファイルを印刷してから削除するファイルです。これは便利な場合もありますが、ファイルのリストを選択して、クリップボードに置くと、必要な場所に貼り付けることができます。
これを行うためのユーティリティがあります。それをインストールするには、自分で少し作業をする必要があります。手順は次のとおりです。
「ジャンプ」でショートカットを作成する
それでおしまい;あなたはそれをインストールしました。 1つまたは複数のファイルを選択して右クリックし、マウスポインターを[送信]に移動します。新しいコマンドを含むサブメニューが表示されます。そのコマンドを選択すると、選択したファイルのリストが昇順にソートされてクリップボードに保存されます。
Vista以降では、エクスプローラーでファイルをShift +右クリックして[パスとしてコピー]を選択できます。
これは、1行に1つずつクリップボードに入れられる複数のファイルに対しても機能します。
Windows 8では、これはエクスプローラーリボンで公開されています。
私は MS 'Send to X' PowerToy をWindows 95 PowerToysセットの一部として使用できます( MSダウンロードリンク )。
これにより、[送信先]メニューを右クリックして、[名前としてクリップボード](および[内容としてクリップボード]およびその他のオプション)が追加されます。
インストールする最も簡単な方法は、ダウンロードしたW95powertoy.exeをZipユーティリティで解凍し、「SENDTOX.INF」を右クリックして「インストール」を選択することです。エクスプローラでアイテムを開くと、[送信]メニューから不要なアイテムを削除できます。
Windowsでは正常に動作しますXP-Windows 7では動作しませんが、ヨハネスによって指摘されているように、代わりに 'Shift +右クリック'を使用できます。
これが私のオープンソースソリューションであり、Windowsを無料と見なしている場合は無料です。
listfiles.bat
などのバッチファイルを作成します。次のいずれかをファイルに入れます。
ファイル名
set mylist=myfilelist.txt
set tempfile=tmp.txt
set diroptions=/a /b
set fullpath=%1
for %%i in (%fullpath%) do set path=%%~dpi
cd %path%
if exist %mylist% del %mylist%
if exist %tempfile% del %tempfile%
dir %diroptions% > "%path%%mylist%"
for /f "usebackq delims=" %%a in ("%mylist%") do (
if not "%%a"=="%mylist%" (
echo %%a >> %tempfile%
)
)
del %mylist%
ren %tempfile% %mylist%
パスとファイル名
set mylist=myfileandpathlist.txt
set tempfile=tmp.txt
set diroptions=/a /b /s
set fullpath=%1
for %%i in (%fullpath%) do set path=%%~dpi
cd %path%
if exist %mylist% del %mylist%
if exist %tempfile% del %tempfile%
dir %diroptions% > "%path%%mylist%"
for /f "usebackq delims=" %%a in ("%mylist%") do (
if not "%%a"=="%path%%mylist%" (
echo %%a >> %tempfile%
)
)
del %mylist%
ren %tempfile% %mylist%
次に、そのファイルへのショートカットをC:\Documents and Settings\<username>\SendTo
ディレクトリに作成します。ファイルのリストを取得するディレクトリに移動します。ファイルを右クリックして、Send To -> Shortcut to listfiles.bat
を選択します。ファイルのリストは、選択に応じてmyfilelist.txt
またはmyfileandpathlist.txt
に書き込まれます。明らかに、SendTo
ディレクトリにある両方のバッチファイルへのショートカットを妨げるものは何もありません。
dir
スイッチの完全なリストについては、コマンドラインでdir /?
と入力するか、 このWebサイト にアクセスしてください。
hotkeyソリューションを探しました。私にとってこれらは作品です:
Windows 7:
Windows 7、Windows Vista、Windows XP:
AutoHotkeyスクリプト、Ctrl + Shift + Cの here から少し変更
^+c::
Clipboard := gst()
if !IsClipEmpty
ClipWait, 0.5, 1
gst() { ; GetSelectedText or FilePath in Windows Explorer by Learning one
IsClipEmpty := (Clipboard = "") ? 1 : 0
if !IsClipEmpty {
ClipboardBackup := ClipboardAll
While !(Clipboard = "") {
Clipboard =
Sleep, 10
}
}
Send, ^c
ClipWait, 0.1
ToReturn := Clipboard, Clipboard := ClipboardBackup
if !IsClipEmpty
ClipWait, 0.5, 1
Return ToReturn
}
FreeCommanderは、ファイルを強調表示した後、次の3つのオプションを提供します。
StExBar は、ファイル名やパスなどをコピーする際の柔軟性とカスタマイズ性に加えて、さまざまな追加機能を提供します。
私たちの中には、C++をダウンロード/インストール/コンパイルする自由がないため、ダウンロード不要、インストール不要、コード不要のソリューションがあります。私はこれをWindowsでのみテストしましたXP SP3:
以下は、すべてのコマンドライン引数を(改行で区切って)クリップボードにコピーする簡単なAutoHotkeyスクリプトです。他のソリューションと同様に、Send Toメニューを介して機能するので、"%USERPROFILE%\SendTo"
にショートカットを配置します(または、引数なしで起動)。
実行するには、メモ帳に貼り付け、"%USERPROFILE%\SendTo\CopyToClipboard.ahk"
に保存します。また、 AutoHotkey 1.1 ( direct dl )がインストールされている必要があります。これはFOSSです。
#NoEnv
#NoTrayIcon
#SingleInstance force
If %0%
{
Loop %0% ; For each parameter:
AllArguments .= ( A_Index > 0 ? "`r`n" : "") . %A_Index%
;MsgBox %AllArguments%
Clipboard = %AllArguments%
ToolTip Copied paths: %0%
} Else {
MsgBox 68, %A_ScriptName%, This script copies command line arguments to clipboard. Intended to be used as Send To target`, so shourtcut to one should be in Send To.`n`nCreate the shourtcut?
IfMsgBox Yes
{
EnvGet UserProfile, UserProfile
FileCreateShortcut %A_AhkPath%, %UserProfile%\SendTo\Names to Clipboard.lnk,, %A_ScriptFullPath%, Copies file names (with paths) to clipboard.
}
}
Sleep 1500
Windows 7で正常に動作しました。
ファイルのリスト全体をコピー
手順1「Shift」キーを押しながら、ファイルのリストを含むフォルダを右クリックし、「ここにコマンドウィンドウを開く」を選択します。
ステップ2コマンドプロンプトウィンドウで「dir/b> filenames.txt」(引用符は不要)と入力します。 Enterキーを押します。
ステップ3以前に選択したフォルダから「filenames.txt」ファイルをダブルクリックして、そのフォルダ内のファイル名のリストを表示します。
ステップ4「Ctrl-A」を押してから「Ctrl-C」を押して、ファイル名のリストをクリップボードにコピーします。
ヒントファイル名を貼り付ける準備ができたら、適切なプログラムで貼り付け場所をクリックし、「Ctrl-V」を押します。
Filemenu tools これに加えて、他の便利な機能がたくさんあります。
まだWindowsを使用している人XP(私と同じように、強制的に動作させます)の場合、次の手順を実行すると、追加のソフトウェアなしで単一のファイル名をコピーできます。
Windowsエクスプローラーリストで目的のファイルを右クリック
ドロップダウンメニューの[プロパティ]をクリックします
「一般」タブ上部のボックスでファイル名をハイライト
CTRL-Cでファイル名をコピーし、[プロパティ]ウィンドウを閉じます
CTRL-Vでファイル名を貼り付けます。
私は fnamecopy と呼ばれる無料/オープンソースの.NETアプリを少し書いて、これをまさに実現しました。これは非常にシンプルで、右クリックの統合機能はありません。パスが必要なファイル/フォルダーを小さなウィンドウにドラッグし、パスが必要なものを選択します。それは非常に骨のないものですが、それは私のために仕事を成し遂げます。
ステファンベルテルスの ClipboardPath が好きです。他のほとんどのツールでは、[送信]サブメニューでこれを隠しています。 ClipboardPathは、コンテキストメニューの上部近くに配置します。完全なネットワークパスが必要な場合(非常に便利です)、[パスをコピー]を選択する前に、Ctrlキーを押したままにします。