拡張子dotの意味

ソリッドワークス/SolidWorksでテンプレートを保存する時に何でdotなん????って思ってました。prt,asm,drwはいいのですが続くdot。

  • 部品の拡張子が*.prtdot
  • アセンブリの拡張子が*.asmdot
  • 図面の拡張子が*.drwdot

WordでもNormal.dotとかマクロ付きはNormal.dotmというテンプレートファイルがあるようです。これでピント!きた。予想ですが、

DOcument Templatesの略ではないかと?

SolidWorksの部品のテンプレート保存。Part Template

SolidWorksのアセンブリのテンプレート保存。Assembly Templates

SolidWorksの図面のテンプレート保存。これだけ日本語ね。図面テンプレート

ところで、

テンプレートは、ドキュメントプロパティとファイルプロパティのどちらも保存できる。特に、ファイルプロパティには重量と材料は追加しておきましょう。部品表を作る時に便利ですから。

下図の信号機の右がファイルプロパティ、その右がシステムプロパティとドキュメントプロパティ。

コマンドの実行ファイルがどこにあるか調べる。Whereが使える

知らんかったわ。以下はcmd、コマンドプロンプトです。notepadが実際にあるフォルダの位置がわかります。

C:\Users\take2>where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe

C:\Users\take2>where terapad
C:\Program Files (x86)\TeraPad\TeraPad.exe

パソコンを起動したら特定のメモ帳を開く。うっかり予防。

月曜にしないといけない事を忘れていることないですか?

あるタイミングでメールとか何かをするって、忘れやすい。朝一でパソコンを起動するとメモ帳が開くってどうですか?

会社のパソコンでもプログラム可能なbat/バッチファイルで作った。

実行の様子です。30秒。

ディスクトップにalertフォルダを作り。この中に1204.txtとか入れておくと、12/4にログインした時に1204.txtをメモ帳で開きます。1月1日は、0101.txtとします。常に月2文字、日付2文字です。

テキストファイルの中に提出物をどこにしまったか。来週金曜提出とか月末期限の仕事、注意点などを書いておきます。

さて、まず。このテキストファイルを作る時に拡張子が見えた方がいい。

拡張子の表示をするようにします。エクスプローラーの表示タブで下図。

ログイン時に実行するbatファイル。名前はmemo.batとでもしておきます。

%homeDrive%
cd %userProfile%
rem 置換 %文字列:m=n%   mをnに置換
set ff=%date:/=%
rem 文字列の取り出し  %文字列:~m,n%   m文字目から文字数n個取り出す
set ff=%ff:~4,30%
set ff=desktop\alert\%ff%.txt
@echo %ff%
if exist %ff% start %ff%

エクスプローラーを起動して、ファイルを指定するテキストボックスにshell:startupと入れて実行します。

するとスタートアップのフォルダが開きます。ここに、ログイン時に実行したいアプリのショートカットやbatファイル(memo.bat)を置く。

作業手順です。3分

以下は、batファイルの説明です。

%homeDrive%はドライブの移動です。大抵はC:ですのでC:を実行するだけでCドライブに操作を変更できる。

%%を囲んで変数(環境変数)で、homeDriveはHomeDriveでも大文字小文字区別はしないようです。ただ、読みやすいように単語の区切りで大文字を使ってるみたい。

Cドライブに移動を確認するために先にd:ドライブに移動してから%homeDrive%を実行します。

cd %userProfile%は、ホームディレクトリ/フォルダに移動します。Windowsの場合は通常、C:\Usersの中にユーザー名でフォルダがあります。ログインユーザー名がusrならcd C:\Users\usrを実行します。

set ff=%date:/=%は、まずdateコマンドを実行してみて下さい。

コマンドだと日付を変更できるので(実際はネットで管理しているのでまた代わります。)入力を求めらるし、「現在の日付・・・」と日本語も入りますが、%date:/=%は、%2024/01/17:/=%となって/は空白文字に置換されて20240117になる。

んん。

bat 文字列 取り出し」で検索してみて下さい。もっといい説明があるかもしれません。

set ff=%ff:~4,30%

環境変数ffの文字列の4文字より後の文字列、30文字まで取り出すい。正確には4文字ですが、オーバーしても問題なく取り出せます。

で、ff環境変数に月2桁と日付2桁が入っていれば、

C:\Users\usrの中にDesktopがありますので、

C:\Users\usr>start Desktop\alert\0118.txt

を実行すればデスクトップ上にalertフォルダがあり、その中に0118.txtがあればメモ帳が起動します。startコマンドは拡張子判断でアプリが起動します。ここではtxtなのでメモ帳を開きます。

ファイルが存在する場合だけstartコマンドを実行する場合はif existを使う。

if exist c:\Users\usr\Desktop\alert\%ff%.txt start 実行したいファイル名

batファイルの例では、何度もDeskt…..と書くのが面倒なのでff変数に入れてます。@echoは確認のために表示します。一瞬なので、確認したい場合は@echoの行の後にpauseを入れて下さい。

set ff=desktop\alert\%ff%.txt
@echo %ff%
pause
if exist %ff% start %ff%

%ff%.txtはdesktop\alert\0118.txtだとした場合、Users\usrフォルダの位置から見てDesktop\alertフォルダ内の0118.txtとなります。

ある特定のサイトでプライバシー保護

この接続ではプライバシーが保護されません
mail.yahoo.co.jp では、悪意のあるユーザーによって、パスワード、メッセージ、クレジット カードなどの情報が盗まれる可能性があります。詳細
NET::ERR_CERT_AUTHORITY_INVALID

これがブラウザのページに現れ、時間が経つと正常になるかと思っていた。

「詳細設定」ボタンを押すとさらな恐ろしげなことがかいてある。

でもね。

ネットに未接続でも同じだしね。

chromeの場合だが「保護されていない通信」をクリックすると、「証明書が無効です」となっているのでどうしようもない。

解決策は、OSのアップデートでした。

コマンドプロンプト/cmd.exeを起動したら自動で実行する仕組みをレジストリに追加する

lsでdir /wが、llでdirが実行でき、..で上のフォルダに移動できる、chcp コマンドで%u%,%j%が使える。さらに、chjやchuもある。以下バッチファイル。

@echo off
rem ↑矢印@echo offで実行コマンドを見えないようにする
set u=65001
set j=932
doskey ls=dir /w
doskey ll=dir
doskey ..=cd ..
doskey chj=chcp 932
doskey chu=chcp 65001
rem chcp 65001
echo AutoRun cmd.exe実行確認用
pause rem確認のために一旦止める

こんな感じです。ただし、上のpauseの行は削除してますし少し違ってます。

この設定バチファイルをcmdコマンドプロンプト起動時に実行すればいいが、レジストリを工夫すれば自動で指定のバッチファイルやアプリを実行することができる。

ただし、Pythonなどからcmd.exeを呼び出す場合は、毎回実行されることに注意。

とにかくcmd.exeを実行すると上のようなバッチファイルを自動的に呼び出すようにします。

で、レジストリをいじります(要注意)。

コマンドプロンプトからregeditを実行し、順にフォルダみないたHKEY_CURRENT_USERをクリックし、その中のSOFTWARE、その中のMicrosoft、その中のCommand Processorを選ぶ。regedit/レジストリエディタのメニューの下側は以下のようになっているはずです。

コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor

ここに文字列を追加します。名前の列の下辺りで右クリックメニューです。

名前はAutoRunです。大文字小文字に注意。

「新しい値 #1」を「AutoRun」に変えたらダブルクリックで実行したいコマンドやアプリを指定します。ここでは自作のバッチファイル、間違って消さないようにautorun.batにしてます。

以下は、名前をAutoRun、データをc:\users\take2\autorun.batとします。ここで指定したファイルを実行してくれます。

これでコマンドプロンプトを実行すると勝手にautorun.batを実行します。

さて、

ここまでマウス操作説明しておきながら何ですが。テキストファイルを作って拡張子をregにして保存すれば上記マウス操作は不要です。

メモ帳で以下のファイルを貼付け、aaaa.regというファイル名で保存します。拡張子regが大切。このファイルをマウスでクリックすると上記のマウス操作無しで

コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor

にAutoRunができて”c:\users\take2\autorun.bat”も入ります。take2\autorun.batの所は変更して下さいね。take2はログイン名、autorun.batはコマンドプロンプト実行時に毎回実行するバッチファイル。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor]
"CompletionChar"=dword:00000009
"DefaultColor"=dword:00000000
"EnableExtensions"=dword:00000001
"PathCompletionChar"=dword:00000009
"AutoRun"="c:\users\take2\autorun.bat"

で、クリックすると以下のメッセージボックスが現れます。

はい。でキーと値が追加されます。

なお、

レジストリを書き換えるテキストファイルの内容はregedit.exeで保存できます。Command Processorをマウスでクリック、選択してからメニューでエクスポートします。

cmd.exe実行時に毎回autorun.batを実行するのでmychcp.pyはいらないわ。

chcpコードページ簡単変更プログラム

mychcp.exeを作ります。

実行するとシフトJISならUTF8、UTF8ならシフトJISに変えます。

chcpの引数の数値を毎回検索するのは面倒。

環境変数を使うっていう手もあります。

set u=65001
set j=932

とでもしておいて、chcp %j%とかchcp %u%でできます。

もうちょっとchcpのヘルプでコードの番号を表示してくれればいいのですが以下ですから。

何でほしくなったかというとPythonがutf8でないといけない。それだけです。

さて、exe化ですが。

好きなrubyでexe化しようと思いましたがなかなかです。ocranariを使ってみましたが最新版のRubyでは無理?

Pythonなら圧倒的なユーザー数ですからやってみました。以下のファイルはmychcp.pyとして保存します。

import os

os.system("chcp > .cc.txt")
f=open(".cc.txt","r")
ss=f.read()
f.close()
os.system("del .cc.txt")
s=ss.split() #array
if s[2] == "932":
    os.system('chcp 65001')
    print("utf8")
else:
    os.system('chcp 932')
    print("ShiftJIS")

#print(s[0]) #debug
#print(s[1]) #debug
#print(s[2]) #debug

Windowsのコマンドプロンプトでchcpを実行すると以下のようになる。

os.system(“chcp > .cc.txt”)で、chcp >とリダイレクトを使ってコンソールの表示をcc.txtファイルに保存する。つまり、.cc.txtには「現在のコード ページ: 932」が保存されている。このファイルをopenして、全部呼び込むf.read。ss変数には「現在のコード ページ: 932」が入っていて、split関数でスペース区切りでs変数に配列が入る。s[0]には「現在のコード」がs[1]には「ページ:」が、s[2]には「932」が入る。

if文では、シフトJIS(932)ならutf8(65004)に変更し、シフトJIS(932)で無いならelseの方をos.system(‘chcp 932’)実行する。

pyinstallerをインストールします。これがEXE化のライブラリです。Pythonはライブラリが豊富でいろいろあるが、これが有名かと。

コンソールからpip install pyinstallerとします。インストールできたら、

exe作成は、pyinstaller -F mychcp.pyです。

実行したフォルダ下にdistフォルダができてます。この中にmychcp.exeがあります。WindowsのPCならmychcp.exeファイル単体で動きます。

mychcp.exeの実行結果です。

Pythonインストール

令和5年8月30日、2023年8月30日現在

Python公式サイトの ダウンロードページ

https://www.python.org/downloads/

chromeの日本語翻訳で十分読めます。

今回は、Windowsの64ビット(私のPCはWindows10で64ビット)なので「Windows インストーラー (64 ビット)」をダウンロードしました。説明の項目には推奨と書いてました。

ダウロードフォルダにはpython-3.11.5-amd64.exe。これをダブルクリックしてインストール。

スタートメニューに以下が使えるようになってます。

インストール途中でcmd.exeコマンドプロンプト上でも使えるようにPATHの設定(Add pythone.exe to PATH)をするのでコマンドプロンプト上でpythonが使えます。

EXCEL開く時に2回パスワードを入れないといけない?

下図だと開く時に1回パスワードを入力するだけです。

ファイルの保存時に設定できるパスワードは読み取りと書き込みのパスワードを別々に入れることになるので開く時に2回パスワードを入れる必要がある。

使うなら1回の入力で済む下図がいい。

パスワードの設定が二箇所?二種類あるのがねー。

図の方は暗号化のパスワードの設定の方です。

もう一方は、ファイルの保存時に設定。しかも、こっちはなかなか気づかないとこにあるから、パスワードを2回入力する人は少ないかもしれんが、上図に気づかない私のような人もいる。ファイルを開く時にパスワードを入れるのだから保存時のオプションだと私は思う。上図は情報のブック保護。私には盲点。