web-dev-qa-db-ja.com

ファイルパスをクリップボードにコピーする方法は?

パスを含め、現在選択されているファイル名をクリップボードにコピーする方法はありますか?理想的には、これは右クリックメニューを使用することです。

ファイル名、パス+ファイル名、ファイル名から拡張子を除いたものだけをコピーする機能など、ある程度の柔軟性が役立ちます。ただし、パス+ファイル名をコピーできる限り、これは必須ではありません。

このソリューションは、Windows XP、Windows Vista、およびWindows 7と互換性がある必要があります。

41
Charles Roper

CopyFilenames を使用します

または

ファイル名をクリップボードユーティリティにコピー

Windows XPには、ファイル名のリストをクリップボードにコピーする方法がありません(これは、Vista以降のWindowsの以降のバージョンで変更されています)。MicrosoftKnowledge Baseの記事では、小さな* .bat DIRコマンドを実行し、その出力をファイルに収集し、そのファイルを印刷してから削除するファイルです。これは便利な場合もありますが、ファイルのリストを選択して、クリップボードに置くと、必要な場所に貼り付けることができます。

これを行うためのユーティリティがあります。それをインストールするには、自分で少し作業をする必要があります。手順は次のとおりです。

  1. executable をダウンロードします。サイズはわずか20 KBなので、ダイヤルアップアクセスを使用している場合でも数秒で完了します。システムのどこにでも置きたい場所に保存します。
  2. 「ジャンプ」でショートカットを作成する

    1. Windowsエクスプローラーの\ Windows\Profilesにある自分の名前の下の "送信先"フォルダーに移動します(またはXPホームがそのフォルダーを設定フォルダーの下に置くので、覚えていません)。
    2. ファイル名がある右側のペインで右クリックします。 「新規|ショートカット」を選択します。
    3. 「ショートカットの作成」ウィザードが表示されます。最初のページで、実行可能ファイルへのパスを入力するか、[参照...]ボタンを使用して検索します。 「次へ」をクリックします。
    4. 2番目のページで、新しいメニューオプションの名前を入力します。 「ファイル名をクリップボードに」を使用しましたが、あなたにとって意味のあるものは何でも選びます。 「完了」をクリックします

それでおしまい;あなたはそれをインストールしました。 1つまたは複数のファイルを選択して右クリックし、マウスポインターを[送信]に移動します。新しいコマンドを含むサブメニューが表示されます。そのコマンドを選択すると、選択したファイルのリストが昇順にソートされてクリップボードに保存されます。

ソース: http://members.cox.net/slatteryt/FNtoClip.html

5
joe

Vista以降では、エクスプローラーでファイルをShift +右クリックして[パスとしてコピー]を選択できます。

"Copy as path" context menu entry in Windows 7

これは、1行に1つずつクリップボードに入れられる複数のファイルに対しても機能します。

Windows 8では、これはエクスプローラーリボンで公開されています。

"Copy path" button in the Windows 8 Explorer ribbon on the Home tab

76
Joey

私は MS 'Send to X' PowerToy をWindows 95 PowerToysセットの一部として使用できます( MSダウンロードリンク )。
これにより、[送信先]メニューを右クリックして、[名前としてクリップボード](および[内容としてクリップボード]およびその他のオプション)が追加されます。
インストールする最も簡単な方法は、ダウンロードしたW95powertoy.exeをZipユーティリティで解凍し、「SENDTOX.INF」を右クリックして「インストール」を選択することです。エクスプローラでアイテムを開くと、[送信]メニューから不要なアイテムを削除できます。

Windowsでは正常に動作しますXP-Windows 7では動作しませんが、ヨハネスによって指摘されているように、代わりに 'Shift +右クリック'を使用できます。

4
pelms

Ninotech Path Copyを使用しています。彼らの website は死んでいますが、それは here で見つかります。

ファイル名をコピーする方法は14通りあり、そのうち5つは完全にカスタマイズできます。

3
jan

これが私のオープンソースソリューションであり、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サイト にアクセスしてください。

2
Johnny Baloney

hotkeyソリューションを探しました。私にとってこれらは作品です:

Windows 7

  1. Ctrl-Cファイル
  2. フルパスでファイルを開くだけの場合は、Windowsの[開く]ダイアログの[パス]フィールドにクリップボードの内容を直接貼り付ける(Ctrl-V)ことができますOR貼り付けることができます(Ctrl-V)クリップボードの内容をアドレスバーに、その後Ctrl-A、Ctrl-Cの後、クリップボードでフルパスをクリアします

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

}
2
Mikhail V.

FreeCommanderは、ファイルを強調表示した後、次の3つのオプションを提供します。

  1. 氏名をテキストとしてコピー
  2. 名前をテキストとしてコピー
  3. フルパスをテキストとしてコピー
1

StExBar は、ファイル名やパスなどをコピーする際の柔軟性とカスタマイズ性に加えて、さまざまな追加機能を提供します。

enter image description here

1
Synetech

私たちの中には、C++をダウンロード/インストール/コンパイルする自由がないため、ダウンロード不要、インストール不要、コード不要のソリューションがあります。私はこれをWindowsでのみテストしましたXP SP3:

  • コマンドプロンプトを開きます。
  • リストするファイルが置かれているディレクトリをdirします。
  • コマンドプロンプトウィンドウの任意の場所を右クリックし、[すべて選択]を選択します。
  • [Enter]キーを押します(これにより、コマンドプロンプトの出力がクリップボードに効果的にコピーされます)。
  • クリップボードのコンテンツを必要な場所に貼り付けます(「テキストを列にして」適切なテーブルにするためにExcelをお勧めします)。
1
Frogpower
1
innaM

以下は、すべてのコマンドライン引数を(改行で区切って)クリップボードにコピーする簡単なAutoHotkeyスクリプトです。他のソリューションと同様に、Send Toメニューを介して機能するので、"%USERPROFILE%\SendTo"にショートカットを配置します(または、引数なしで起動)。

実行するには、メモ帳に貼り付け、"%USERPROFILE%\SendTo\CopyToClipboard.ahk"に保存します。また、 AutoHotkey 1.1direct 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
1
LogicDaemon

Windows 7で正常に動作しました。

ファイルのリスト全体をコピー

手順1「Shift」キーを押しながら、ファイルのリストを含むフォルダを右クリックし、「ここにコマンドウィンドウを開く」を選択します。

ステップ2コマンドプロンプトウィンドウで「dir/b> filenames.txt」(引用符は不要)と入力します。 Enterキーを押します。

ステップ3以前に選択したフォルダから「filenames.txt」ファイルをダブルクリックして、そのフォルダ内のファイル名のリストを表示します。

ステップ4「Ctrl-A」を押してから「Ctrl-C」を押して、ファイル名のリストをクリップボードにコピーします。

ヒントファイル名を貼り付ける準備ができたら、適切なプログラムで貼り付け場所をクリックし、「Ctrl-V」を押します。

1
user469427

Filemenu tools これに加えて、他の便利な機能がたくさんあります。

1
CGA

まだWindowsを使用している人XP(私と同じように、強制的に動作させます)の場合、次の手順を実行すると、追加のソフトウェアなしで単一のファイル名をコピーできます。

  1. Windowsエクスプローラーリストで目的のファイルを右クリック

  2. ドロップダウンメニューの[プロパティ]をクリックします

  3. 「一般」タブ上部のボックスでファイル名をハイライト

  4. CTRL-Cでファイル名をコピーし、[プロパティ]ウィンドウを閉じます

  5. CTRL-Vでファイル名を貼り付けます。

1
rrindc

私は fnamecopy と呼ばれる無料/オープンソースの.NETアプリを少し書いて、これをまさに実現しました。これは非常にシンプルで、右クリックの統合機能はありません。パスが必要なファイル/フォルダーを小さなウィンドウにドラッグし、パスが必要なものを選択します。それは非常に骨のないものですが、それは私のために仕事を成し遂げます。

0
Millhouse

ステファンベルテルスの ClipboardPath が好きです。他のほとんどのツールでは、[送信]サブメニューでこれを隠しています。 ClipboardPathは、コンテキストメニューの上部近くに配置します。完全なネットワークパスが必要な場合(非常に便利です)、[パスをコピー]を選択する前に、Ctrlキーを押したままにします。

0
Alistair Knock