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


40

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

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

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


6
Vista以降では、これを行うための方法が統合されています。Shiftキーを押しながら、選択したファイルのコンテキストメニューを開きます。「という項目がありますパスとしてコピー
LogicDaemon

Charlesは、これがWindowsに組み込まれているので、受け入れられた答えを変更することを検討しますか?これにより、他の人がより簡単にベストアンサーを見つけることができます。
サイモンイースト

受け入れられた回答はWindows Vista以降にのみ組み込まれているため、受け入れられた回答は変更されないため、この質問を再度開くことはしませんでした。この質問が悪用される可能性は非常に高いと思います。少なくとも再オープンする場合は、「私も」という回答を避けるために保護する必要があります。
ラムハウンド

1
@SimonEastこの質問は、XPとの互換性が必要であると述べているため、受け入れられている答えは依然として最も適切なものです。2番目の答えはより多くの票を持ち、受け入れられた答えのすぐ下にあります。これは合理的な妥協のようです。これが、StackExchange Q / Aシステムの動作方法です。
チャールズローパー

回答:


5

CopyFilenamesを使用する

または

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

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

それを行うためのユーティリティがあります。あなたはそれをインストールするために自分で少し仕事をしなければなりません-しかし、多くはしません。手順は次のとおりです。

  1. 実行可能ファイルをダウンロードします。わずか20 KBなので、ダイヤルアップアクセスを使用していても数秒しかかかりません。システム上の任意の場所に保存します。
  2. 「移動」でショートカットを作成します

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

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

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


2
そのプログラムの重大な欠点:Unicodeファイル名を処理できません。コマンドライン引数をパイプするだけの小さなバッチファイルclip.exe(以前のリソースキットに含まれていた最新のWindowsバージョンに含まれる)を使用すると、おそらくコンソールでTrueTypeフォントを使用する場合に、より適切に動作するはずです。
ジョーイ

75

Vista以降では、エクスプローラーでShiftキーを押しながら右クリックし、[パスとしてコピー]を選択できます。

        Windows 7の「パスとしてコピー」コンテキストメニューエントリ

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

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

        [ホーム]タブのWindows 8 Explorerリボンの[パスのコピー]ボタン


6
素晴らしい、これは完全に受け入れられた答えであるべきです。ソフトウェアは必要ありません!
HaggleLad

5
素晴らしい。Windowsをこれほど長く使用していて、この1つを知らないのではないかと思う。複数のファイルで作業するためのボーナス。
Bratch

2
@HaggleLadこれが受け入れられない答えである理由は、元の質問のこの行のためです:「XP、Vista、およびWin7と互換性がなければなりません」。
チャールズローパー14年

4

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

Windows XPでは正常に動作します-Windows 7では動作しませんが、Johannesが述べているように、代わりに「Shift +右クリック」を使用できます。


3

私はNinotech Path Copyを使用しています。彼らのウェブサイトは死んでいますが、ここで見つけることができます

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


PathCopyの場合は+1。このツールは、たとえば、パスをスラッシュに変換する必要がある場合、またはファイル名のないパスのみが必要な場合に特に便利です。
yalestar

素晴らしい、ちょうど私が探していたものは、64ビットDLLを提供するので、Win7で動作すると思われます(自宅で試してみます...)。カスタマイズ機能は強力なようです(検索/置換機能を含む!)。
ピロ

2

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

Windows 7

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

Windows 7、Windows Vista、Windows XP

AutoHotkeyスクリプト、Ctrl + Shift + C用にここから少し変更

^+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

}

1

これは、最も壮大なwinユーティリティの1つです。
クリスマリシック

1
匿名のエディターは次のように述べています:>バージョン2.6をダウンロードすると、Antivirusはこのファイルにトロイの木馬/ウイルスが含まれていると主張し、バージョン2.5は問題ないようです。
slhck


1

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

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

1

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

ここに画像の説明を入力してください


1

まだWindows XPを使用している場合(私のように、仕事を余儀なくされています)、次の手順は、追加のソフトウェアなしで単一のファイル名をコピーするために機能します。

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

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

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

  4. Ctrlキーを押しながらCキーを押してファイル名をコピーし、[プロパティ]ウィンドウを閉じます

  5. Ctrlキーを押しながらVキーを押して、目的の場所にファイル名を貼り付けます。


1

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

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

1

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サイトにアクセスしてください


1

これは、すべてのコマンドライン引数をクリップボードにコピーする単純なAutoHotkeyスクリプトです(改行で区切られています)。他のソリューションと同様に、[ 送信 ]メニューを介して機能するため、ショートカットを配置します"%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

Windows 7で正常に機能しました。

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

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

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

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

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

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


0

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


0

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.