らくちん!ファイルのフルパスをコピーする方法


会社で仕事していると、ファイル、フォルダの保存先をメンバーと共有することがあると思います。
そんな時、今回の小技を覚えておけば、超らくちんです。

今回は2つの小技を紹介します。










  1. Windows標準機能を使ってアクセスコピー
  2. VBscriptを使ってアクセスコピー


Windows標準機能を使ってコピー

WindowsVistaの頃にWindowsの標準機能として特定ファイルのアクセスパスを取得する機能が付きました。
※WindowsVista、Windows7の頃は「パスとしてコピー」、Windows8以降は「パスのコピー」という表示変更となりました。Windows11ではshiftを押さなくてもパスのコピーが選べるようになりました。

Windows10まで
目的のファイルを「Shift」キーを押しながら右クリックし、表示された一覧から「パスのコピー」をクリックします。

Windows11は
目的のファイルを選択し右クリックし、表示された一覧から「パスのコピー」をクリックします。
f:id:sorehaya:20220130134951j:plain

VBscriptを使ってアクセスコピー

Windowsの標準機能を使ってアクセスパスのコピーを行うとパスの先頭末尾に""が付きます。
普段をWindowsの標準機能を使ったコピーで取得したアクセスパスを使用すればいいのですが、たまにパスの先頭末尾についた””が原因でファイルを開けないことがあります。
そんな時は、VBscriptで""無しアクセスパスを取得するスクリプトを組んでおいて、右クリックの送るに登録しておくと便利です。
以下のソースをコピーしてメモ帳(テキストファイル)に貼りつけ、ファイル名を「パスのコピー.vbs」として保存し、
送るに表示されるフォルダ(SendTo ディレクトリ)に保存すればパスの先頭末尾に""が付かないアクセスパスが取得できるようになります。

Set WshShell = Wscript.CreateObject("WScript.Shell")
Set Fso = Wscript.CreateObject("Scripting.FileSystemObject")

strTemp = WshShell.ExpandEnvironmentStrings("%temp%")
strPath = strTemp & "\__clipCommand.tmp"

Set objHandle = Fso.OpenTextFile( strPath, 2, True )
objHandle.Write Wscript.Arguments(0)

Call WshShell.Run( "cmd.exe /c clip < """ & strPath & """", 0, True )


試してみてね