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


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

今回は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 )


試してみてね

バッチファイルのcopyコマンドについての話

 

バッチファイルの”copy”コマンドを使用して気がついたことがあったので、備忘録として残しておきます。

 

 

 

copyコマンド

ファイルをコピーするためのコマンドです。

書き方は、検索するとたくさん出てくるので割愛。

【書き方】

copy [コピー元のファイルパス]  [コピー先のファイルパス]

copy "C:\test\TestFile1.txt" "C:\test\TestFile2.txt"

 

ワイルドカード

決まっていない文字、英数字が入っていても文字が入っていると認識させるための特殊文字

"*"や"?"がある

"*"は文字数指定なしで何か文字

 


が入っているという場合記載

"?"は文字数は決まっているけれど、入っている文字が不定の場合に使用する。

 

問題

Excelファイルをコピーと合わせてリネームして保存して、処理した結果をコピーしたExcelファイルにデータを入力するような処理を自動化するようなbatを作成していた際にExcelファイルがコピーミスしていることに気が付きました。

f:id:sorehaya:20211204110259j:plain

f:id:sorehaya:20211204110248j:plain
"copy"コマンドの使い方を間違えているのか調べて、試行錯誤した結果、

Microsoftのテクニカルドキュメントに原因が載っていました。

 

原因

Windows が CTRL + Z をファイルの終端文字として扱うのが原因のようです。

Windowsの仕様なら仕方がない。

ファイル終端文字については、また別途調べて記録残すので、今回は特に触りません。

そういうものだと思うことにします。

 

対策①

Microsoftのテクニカルドキュメントでは、

ワイルドカード文字を使用して複数のバイナリファイルを1つのファイルに結合するには、 /bを含めます。 これにより、Windows が CTRL + Z をファイルの終端文字として扱うのを防ぐことができます。 たとえば、次のように入力します。」

と記載されています。

copy /b "C:\test\TestFile1.txt" "C:\test\TestFile2.txt"

対策②

"xcopy"コマンドでコピーを行う

xcopy "C:\test\TestFile1.txt" "C:\test\TestFile2.txt"

 

対策③

コピーした後にリネームする。※コピー先のファイルパスではファイル名まで記載しないでコピーするディレクトリを分ける必要あります。

copy "C:\test\TestFile1.txt" "C:\test\work"
ren "C:\test\work\TestFile1.txt" "TestFile2.txt"

 

常に使われている方なら当然のことなのかもしれませんが、たまに使うときにハマる仕様だと思いますので、お気を付けて

最近もの忘れが激しくてどんどん書き方の要所を忘れていく・・・・

 

   

ロリポップ!レンタルサーバー!はあなたの「やってみたい!」を応援します!
ロリポップ!なら、ホームページ、ブログ、ネットショップ…
これらが今すぐ、そして簡単にできちゃう!
マニュアルやライブチャットを完備しているので、ホームページ初心者でも安心。
これだけついてるのに月額110円〜ととってもお得。
もちろん無料のお試し期間も10日間あるので安心ですね。

▼ロリポップ!レンタルサーバーはこちら

エレコム 外付けHDD SGD-MX040UBK分解

ELECOMのSGD-MXシリーズの外付けHDDの分解方法についてレビューします。

 

 

内容物の確認

今回購入したのは「SGD-MX040UBK」 です。

f:id:sorehaya:20210917113706j:plain  f:id:sorehaya:20210917114804j:plain

パッケージは、ピンクの面と緑の面があり、右上にHDDの容量を記載しています。

販売されているHDD容量は1TB~6TBまであり、2TB~4TBまでがカラーがブラック、ホワイトに2色から選択できます。

f:id:sorehaya:20210917115144j:plain

商品同梱物は、

  • HDD本体
  • ACアダプタ
  • USBケーブル(USB3.1Gen1) micro-B to A
  • かんたん設定ガイド(紙)
  • Expansionはじめにお読みください(紙)

f:id:sorehaya:20210917124659j:plain

でした。

分解手順

分解にはポイントカードを使用しました。

ポイントカードの先端を斜めにカットしたものをHDDのカバーの隙間に差し込み、HDDを格納しているカバーを開いていきました。

f:id:sorehaya:20210917135928j:plain  f:id:sorehaya:20210917135341j:plain

極力カバーへのダメージを防ぎたかったけれど、爪で固定されるタイプだったため、固定用の箇所がいくつか割れました。ここを割らずに分解するのは、かなりの技量が必要です。(私では不可能)

f:id:sorehaya:20210917140941j:plain

 

内部構造物

カバーを外して、内部のHDDを取り出すともちろんSEAGATEのHDDが入っています。

HDDはSATA↔USB変換基板が取り付けられ、1箇所のネジ固定とノイズシールド用なのか、アルミシートで接続されていました。

f:id:sorehaya:20210917133715j:plain  f:id:sorehaya:20210917133720j:plain

 

HDDの固定用ネジが4辺に取り付けられ、ねじ頭に青いやわらかい部品(衝撃吸収+

固定用と思われる)取り付けられていました。これによりHDDのカバーの内部でHDDが動かないように固定されています。

f:id:sorehaya:20210917141829j:plain

HDD固定用ねじはプラスドライバーのNo.2で外せるサイズのものでした。

 

まとめ

  • HDDのケースは固定用の爪を破壊せずに開けるのは難しそう。(私は無理)
  • HDDのケース内容物はUSB↔SATA変換基板とSEAGATEのHDD、固定用のネジ、

    青いやわらかい部品(衝撃吸収+固定用と思われる)ものがついていました。


 

 

 

 

 

ExcelVBA ネット上のソースコード利用時注意点

ブログなどで公開されているExcelVBAのソースコードをコピペ、修正して利用した際にはまった注意点を備忘録として残します。

 

仕事で作業を自動化したいときなどに便利なExcelVBAです。ネット上にも解説サイトやサンプルのソースコードなど、情報がたくさんあり活用しやすいです。

 

今回、「T&D おんどとり 温度・湿度・大気圧データロガー TR-73U」から温度、湿度のデータをシリアル通信を使って抜き出す作業を自動化しようと以下のサイトの情報を参考に作業を進めていました。

 

[参考にしたサイト]

VBAシリアル通信でT&D製TR73Uの現在値をPCに取り込む! | 自恃ろぐ-jizilog.com-

[使用する計測機器]


 

 記載されていたソースコードをコピペして動作の確認をしていたところ、同じ環境にしたはずが動作しない。

 

読み込んでいるEasyCommの使い方が間違えているのか、何か宣言が抜けているのか、いろいろと試行錯誤しました。

 

原因は、

「 HTMLで特殊文字を書いていた」

ためでした。

 

HTMLは<h1>~</h1>で囲まれているのが見出し、<p>~</p>で囲まれているのが本文、というような文章構成をさせることで、Webページの表示のされ方をプログラミングしているくらいの知識しかなかった筆者だったため、HTMLで特殊文字(<、>、&)を書くにはアンパサンド(&)、右大不等号(<)、左大不等号(>)はそれぞれ、&amp;、&lt;、&gt; と記述する必要があり、この形式を文字参照と呼ばれ、
加えて、タグの属性部で、"..." の中ではダブルクォーテーション(")を &quot;、'...' の中ではシングルクォーテーション(')を &#39; と記述する必要がある。

などという知識がなかったため、参考にしたサイトのソースコード特殊文字がHTMLの文字参照の書き方に替わっていたなんて、気付くのに時間がかかりました。

 

 

広く浅くいろいろな知識を得ることが重要と再確認させられたきっかけでした。

ExcelVBAに精通していればすぐに気が付いたのか、それともHTMLを少し勉強していればすぐ気が付いたのか、いずれにしても、今回学んだことで今後同じことにならないようにブログに残しておきます。

 

 

MacOSで「デスクトップを表示する」ショートカット

MacOSでデスクトップ画面を表示するショートカットキーを覚えたので紹介します。

 

 

Windowsでは、デスクトップ画面を一瞬で表示させたい(開いている複数のウィンドウを一瞬で最小化する)時のショートカットとして「Windowsキー」+「D」のショートカットキーを入力すると実現できます。

私は、メインをWindowsデスクトップ、サブをMacbookAirで運用していて、今まではMacOSでデスクトップ画面を出す際はトラックパッドジェスチャーを使用していました。

 

■[トラックパッドでデスクトップを表示させるジェスチャー

親指と3本指を広げる

f:id:sorehaya:20210502214218p:plain


ただ、仕事でもWindows、学生時代もWindowsを使用していたため、MacOSジェスチャーに不慣れでジェスチャーをうまく使いこなせていなくて、デスクトップを表示させたいのに別なジェスチャーになってしまうことがあり、そこがストレスになっていました。

よく誤認識するジェスチャーはこれ「Mission Control」

f:id:sorehaya:20210502215947p:plain

 

■デスクトップを表示するMacOSキーボードショートカット
(※「F1、F2などのすべてのキーを標準のファンクションキーとして使用」有効)

・「F11」

・「Fn」+「Command」+「F3」

 

私は、システム環境のキーボード設定で、「F1、F2などのすべてのキーを標準のファンクションキーとして使用」を有効(チェックを入れる)にしているため、上記ショートカットになりました。

「F1、F2などのすべてのキーを標準のファンクションキーとして使用」を無効(チェックを入れない」で使用している方は以下のショートカットです。

 

■デスクトップを表示するMacOSキーボードショートカット
(※「F1、F2などのすべてのキーを標準のファンクションキーとして使用」無効)

・「Fn」+「F11」

・「Command」+「F3」

 

Windowsでは、「Windowsキー」+「D」と2種類を組み合わせて使用するキーボードショートカットが、MacOSでは「F11」だけとなると少し違和感があります。