Kuni/JA1UZGのもろもろブログを最新の情報に更新

色々チャレンジしていますが、記載内容は無保証です。各自の責任でお願いします。    . .
前月 << November 2018 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>翌月
 
ENTRIES
RECENT COMMENT
  • QSLカードが届きました
    SYSOP (11/08)
  • KENWOOD機とAH−4,AH−3用のインターフェイスを頒布しています
    SYSOP (11/08)
  • KENWOOD機とAH−4,AH−3用のインターフェイスを頒布しています
    SYSOP (11/08)
  • モニターの解像度と、ブログの画像サイズ
    SYSOP (11/08)
  • 中国から懲りずに個人輸入
    SYSOP (11/08)
  • 中国から懲りずに個人輸入 届きました
    SYSOP (11/08)
  • QSLカードが届きました
    たまちゃん (11/08)
  • PC−9821Rv20のCPUをグリグリと
    SYSOP (11/08)
  • KENWOOD機とAH−4,AH−3用のインターフェイスを頒布しています
    かかお (11/08)
  • モニターの解像度と、ブログの画像サイズ
    たまちゃん (11/08)
RECENT TRACKBACK
ARCHIVES
 
アマゾンでのお買い物 (dhtexpress) メモ
路肩の花

お買い物したら、中国から発送の様で配送業者が、dhtexpressとの事。
配送業者:dhtexpress.com
お問い合わせ伝票番号:xxxxxxxxxxxCN
配送会社のHPに追跡番号を入れるのが面倒で、スクリプトを作ってみました。
HTML、VBS両方共良くわからないので、やっつけ仕事。
動くからOKとhi
動作保証不可!
御利用する方の自己責任でお願いします。
メインウインドウに直接PAGE-DOWNを送る方法があると思うけど、TABをいっぱい送ってごまかしてます。
TABの必用数は、IEの利用環境により変わるので調整して下さい。

REM === DHTEXPRESS.VBS === 荷物番号追跡 ここから 
Option Explicit
Dim obj, WSHShell
Const DempyouNonver = "xxxxxxxxxxxCN" ' xxxxxxxxxxxCNにアマゾンから通知された番号を記載
Const ErrMsgTxt = "http://dhtexpress.com/ アクセス失敗"
Const pageURL = "http://dhtexpress.com/"

REM ===
REM WScript IE 開始
REM ===
Set WSHShell=CreateObject("WScript.Shell")
Set obj = WScript.CreateObject("InternetExplorer.Application")
obj.Navigate pageURL
obj.Visible = True
' obj.FullScreen = True
' 画面を1000 x 700 にする
S_IE_Wait obj
WScript.Sleep(200)
obj.Width = 1000
obj.Height = 700
obj.Left = 0
obj.Top = 0
WScript.Sleep(200)
obj.document.getElementsByTagName("input")(0).value = DempyouNonver
obj.document.getElementsByTagName("button")(0).click
WScript.Sleep(200)
S_IE_Wait obj
WScript.Sleep(200)
S_IE_Activate
WSHShell.SendKeys "{TAB}" ' {TAB}{TAB}・・としても良いけど、
WScript.Sleep(100) ' 処理が間に合わない事が有ったので
WSHShell.SendKeys "{TAB}" ' 処理毎に0.1秒待機してます
WScript.Sleep(100) ' {TAB}の回数は、
WSHShell.SendKeys "{TAB}" ' IEの表示状態により変わるので調整して下さい。
WScript.Sleep(100)
WSHShell.SendKeys "{TAB}"
WScript.Sleep(100)
WSHShell.SendKeys "{TAB}"
WScript.Sleep(100)
WSHShell.SendKeys "{TAB}"
WScript.Sleep(100)
WSHShell.SendKeys "{TAB}"
WScript.Sleep(100)
WSHShell.SendKeys "{PGDN}" ' 追跡を画面中央に表示
WScript.Sleep(100)
Set obj = Nothing
REM ======== IEが安定するまで待機 ======================= 
Private Sub S_IE_Wait ( ByRef objIE_ )
Const TimeOut = 30000 'ミリ秒単位
Const CheckTime_ = 200
Dim t_

t_ = 0
Do While objIE_.busy
t_ = t_ + CheckTime_
If t_ > TimeOut Then
MsgBox "IE Time Out error. [IE.busy]", _
vbSystemModal + vbCritical, ErrMsgTxt & " [IE.busy]"
WScript.Quit ' メインプログラム終了
End If
WScript.Sleep(CheckTime_)
Loop
t_ = 0
Do While objIE_.Document.readyState <> "complete"
t_ = t_ + CheckTime_
If t_ > TimeOut Then
MsgBox "IE Time Out error. [complete]", _
vbSystemModal + vbCritical, ErrMsgTxt & " [complete]"
WScript.Quit ' メインプログラム終了
End If
WScript.Sleep(CheckTime_) :
Loop
End Sub

REM ======== iexplore.exe をアクティブに ============
Private Sub S_IE_Activate
Dim Lt__, Sv__, En__, Sh__, It__

WScript.Sleep(200)
Set Sh__ = CreateObject("WScript.Shell")
'起動中のプロセスの一覧から iexplore.exe を検索
Set Lt__ = CreateObject("WbemScripting.SWbemLocator")
Set Sv__ = Lt__.ConnectServer
Set En__ = Sv__.InstancesOf("Win32_Process")
For Each It__ In En__
If Not IsEmpty(It__.ProcessID) Then
If InStr(It__.Description, "iexplore.exe") Then
Sh__.AppActivate(It__.ProcessID)
WScript.Sleep(200)
Set Sh__ = Nothing ' exit for でも良いと思います
Set En__ = Nothing
Set Lt__ = Nothing
exit sub
End If
End If
Next
WScript.Sleep(200)
Set Sh__ = Nothing
Set En__ = Nothing
Set Lt__ = Nothing
End Sub
便利で危険なROBOCOPY
とても便利で活用していますが、とても危険なコマンドでもあります。
注意して自己責任で御利用下さい。
記載ミスが有りましても、一切責任は持てません。


BAKUP先

上がハムログフォルダをバックアップした折りのROBOCOPY先です。
コマンドは以下の様になります。
バックアップするフォルダに以下のスクリプトを作成して下さい。
(HAMLOGをバックアップするならC:¥HAMLOG¥ROBOMIR.CMDとして)
「D:¥BACKUP」は、必要に応じて適当に書き換えて下さい。
なお、コマンドラインオプションが多数有るのでrobocopy.exeの行がまたがって表示される場合が有りますのでご注意下さい。

REM === ROBOMIR.CMD ====
robocopy.exe .¥ D:¥BACKUP /MIR /XD "System Volume Information" /XD "$Recycle.Bin" /LOG:"%USERPROFILE%¥Desktop¥LOG.TXT" /R:0 /W:0 /NP /NDL /TEE /XJD /XJF /FFT
REM =====



C:¥HAMLOGをD:¥BACKUPへバックアップする場合の使用方法は、コマンドラインから以下の様に打ち込んで下さい。

C:¥>CD C:¥HAMLOG
C:¥HAMLOG>ROBOMIR.CMD

このスクリプトを実行したフォルダから、D:¥BACKUPフォルダにサブフォルダも含めてミラーします。

★重要な注意
コピーではありませんバックアップです。
先フォルダに有る中身は全て元と同じになります。
元に無いデータは、問答無用で全て削除されます。


バックアップ先のD:¥BACKUPと言うフォルダが無い場合、フォルダを作成してハックアップされます。

2度目以降は、以下の様になります。
・変更の無いファイルはそのまま
・変更の有ったファイルは上書き
・元から削除されている場合、バックアップ先から削除



LOG

デスクトップにログを作成します。

LOGの中身

ログの中身はこんな感じ。
適当に削除して下さい。



ROBOCOPYの使い方は、コマンドラインから
ROBOCOPY /?
で、ご覧下さい。
Buffalo NAS が自動作成する迷惑フォルダ削除 メモ
勝手に作る無駄フォルダ

★注意事項
 以下私の環境での動作確認しかしていません。
 自己責任で御利用下さい。
 NASのデータが吹っ飛んでも責任は負えません。


BuffaloのLS520DNですが、自動的にゴミファイル・フォルダを作成すると言うタコ仕様になっています。
(スマホ等でアクセスする場合のサムネイルの様です・・私は純粋なNAS用途しか使わないので全く不要)
これが、ルートフォルダだけなら容易に削除出来るのですが、深いフォルダ迄しっかりとゴミを作成しています。
さらに迷惑なのが、作ったり・作らなかったりと、とてもいい加減。
下記が、迷惑フォルダの一覧。

2018/05/08  14:50    <DIR>          .thumbnail
2018/05/08  14:50    <DIR>          .webaxs_3L
2018/05/08  14:50    <DIR>          .webaxs_L
2018/05/08  14:50    <DIR>          .webaxs_LL
2018/05/08  14:50    <DIR>          .webaxs_M
2018/05/08  14:50    <DIR>          .webaxs_S
2018/05/08  14:50    <DIR>          .webview

最初のうちは、エクスプローラーでシコシコと消していたのですが、突然復活してしまうと言う生命力の強さを見せつけられました。

で作成したのが、以下のバッチ。
注意事項、サブフォルダも含めて問答無用で削除します。
適当な名前でNASに保存して下さい。たとえば、「GomiSakujyoForBuffaloNAS.CMD」。
実行はダブルクリック。
実行時にセキュリティ警告が出ますが、ご自身で判断して下さい。

REM === GomiSakujyoForBuffaloNAS.CMD ===
for /R %%d in (.webaxs_S .webaxs_3L .thumbnail .webaxs_LL .webview .webaxs_L .webaxs_M) do rmdir /S /Q "%%d"
REM === ここまで ===


購入者に無断でサムネイル作るなんて、ゴミ仕様は止めてくれ => Buffalo

蛇足
バッチスクリプトとしてではなく、コマンドラインから直接使う場合は %% => % として下さい。

for /R %d in (.webaxs_S .webaxs_3L .thumbnail .webaxs_LL .webview .webaxs_L .webaxs_M) do rmdir /S /Q "%d"
XCOPYでバックアップのお話
路肩の花

●とりあえず
WindowsにはROBOCOPYと言う便利なコマンドが有るけどそれば後日?
MS−DOS時代からのXCOPYの機能について

●除外機能
XCOPYでフォルダやファイルの除外機能「/EXCLUDE:」が有ると言うので時短対策。
TEMPフォルダをバックアップ対象から除外しようと画策。
しかしうまく行かなくて。。。私が勘違いしていただけなんですが・・・

●失敗
==
XCOPY "C:¥hogehoge¥" "D:¥hogeBack¥" /e /c /h /d /Y /EXCLUDE:C:¥hogehoge¥TEMP¥
===

オプションエラーで動いてくれない。 (;_;)

グーグル先生でネットを徘徊・・・判明
/EXCLUDE:オプションは除外フォルダ名を入れるんじゃ無くて、除外一覧を記載したテキストファイルを指定するみたい。
でも、バッチCMDの他にテキストファイルを追加と言うのは管理上面倒。
バッチ1つで管理したい。
てな訳で、以下の様にして成功しました。 (^_^)

●成功
===
ECHO C:¥hogehoge¥TEMP¥ > __TEMP__.TXT
XCOPY "C:¥hogehoge¥" "D:¥hogeBack¥" /e /c /h /d /Y /EXCLUDE:__TEMP__.TXT
DEL __TEMP__.TXT
===

●オプションの説明 (XCOPY /? から一部抜粋)
  /E          ディレクトリまたはサブディレクトリが空であってもコピーします。
  /C          エラーが発生してもコピーを続けます。
  /H          隠しファイルやシステム ファイルもコピーします。
  /D          日付が指定されなかったときは、コピー元の日付がコピー先の日付より新しいファイルだけをコピーします。
  /Y          既存のファイルを上書きする前に確認のメッセージを表示しません。
  /EXCLUDE:ファイル1[+ファイル2][+ファイル3]...
              コピーの除外対象を特定するための文字列を記述したファイルを指定します (複数指定可)。
Windows10への無償アップグレード権、オーラスです (終わりました・・多分)
 
 
  Windows10  
 
 
  無償Upgrade  
 
 
  ラストチャンス  
 
 


Windows7や8からWindows10への無償Upgradeが今年末でオーラスとなる様です。
Windows7や8を御利用の方は、10のライセンスだけでも取得するのが吉かと思います。

上記は、このリンク(週間アスキー)から確認して下さい。

1.今お使いのHDDを予備HDDにクローン。
2.予備HDDをWindows10にUpgrade。(デジタルライセンス取得)
3.元のHDDに戻してWindwos7や8を使う。
4.Windows7や8のサポートが終了したら、Windows10を新規インストールする。
 (MS社のシステムが正常なら、デジタルライセンスが自動的に取得出来ます)

●MS社のライセンス管理について
 同社のシステムは気が狂っているので、こんな事も有ります。
 Windows10のライセンス管理、将来どうなるか不安は残りますが・・・。
 とりあえずはライセンスを取得した方が「お得」と言う事でよろしく。

●2017/12/25 追記
 Windows10へのUp成功したとのレポートを頂きました。
 (新規インストール成功、Windows7のキーを入力)
 まだ出来る様です!
TELNETの有効化
1 コントロールパネル・プログラム

先日TELNETに付いて記載しましたが、Windows8.1Proの場合の手順です。(Win10も同じだと思いますが?)

.灰鵑肇蹇璽僖優
▲廛蹈哀薀

Windowsの機能の有効化または無効化

Windowsの機能の有効化又は無効化

Telenetクライアント

ぃ圍紕譯紕遑紕凜ライアントの左にチェック
ケΣ爾裡錬砲鬟リック
Γ達唯張廛蹈鵐廛箸らTELNETと打ち込む

TELNETを起動した所

В圍釘味裡釘圓鮟わるのは、 QUIT [enter] です。
┌達唯張廛蹈鵐廛箸鮟わるのは、EXIT [enter] です。
IEのエラー
路肩の花

IEがエラー終了した時等、再度IEを起動しようとしてもうまく動かなかったりする場合が有ります。
これはエラー終了したIEの残骸が残っているからで、この残骸を削除しないと再度IEを起動してもうまくいかない場合が有ります。
パソコンを再起動すれば確実なのですが、面倒という方の為の私が使用しているおまじないです。

REM -- IEKILL.CMD ---
TASKKILL /F /IM "iexplore.exe"
REM --- ここまで ---

上記を IEKILL.CMD 等として保管、管理者として実行して下さい。
常駐・残骸等のIEが終了します。
IEがハングアップした折の強制終了にも使えます。

上記無保証に付き、御利用の方の責任の元に実行して下さい。
当方一切の責任は持てません。hi
ダブルクォートって要らなくなったんですね 今更ながら知りました
いまさらながら知りました

今までは、ファイル名やフォルダ名に半角スペースが有る場合、「"ダブルクォートでくくれ"」ってのがおまじないでしたが、必要なくなったみたい。
今更ながら知りました。

コマンドプロンプトで試したけれどOK。

OSも日々進化している様です。
カトーレック便の追跡
路肩花

ゆうパック、クロネコ、佐川さんの宅配は、追跡番号でググってそのURLをお気に入りに入れてます。
(追跡番号のハイフンを除いて、数字だけ入れます。)
そうすれば、いつでも追跡出来るので便利です。

Googleで荷物番号検索

しかし、カトーレックは、Googleで検索出来ません。
アマゾンで買い物をするとカトーレックの事が多々有るし、
追跡する度に荷物番号を入力するのは億劫で・・・

てなわけで、追跡用のVBSを作ってみました。

以下VBSの荷物番号を書き換えてお試し下さい。

rem ktr.vbs-------------

Option Explicit
Dim obj, WSHShell
Const ErrMsgTxt = "カトーレック荷物番号検索エラー"
Const pageURL = "http://www6.katolec.com/tracking/amzn/tracking.aspx"

Const no_ = "000000000000" 'ここに荷物番号を入れる

REM ===
REM WScript IE 開始
REM ===
Set WSHShell=CreateObject("WScript.Shell")
Set obj = WScript.CreateObject("InternetExplorer.Application")
WScript.Sleep(200)
obj.Navigate pageURL
WScript.Sleep(200)
obj.Visible = True
S_IE_Wait obj
WScript.Sleep(200)
S_IE_Activate
WScript.Sleep(200)
obj.document.forms("trackingForm").elements("inputDenpyo").value = no_
WScript.Sleep(200)
obj.document.forms("trackingForm").elements("post").Click
WScript.Sleep(200)
Set obj = Nothing

REM ======== IEが安定するまで待機 =======================
Private Sub S_IE_Wait ( ByRef objIE_ )
Const TimeOut = 30000 'ミリ秒単位
Const CheckTime_ = 200
Dim t_

t_ = 0
Do While objIE_.busy
t_ = t_ + CheckTime_
If t_ > TimeOut Then
MsgBox "IE Time Out error. [IE.busy]", _
vbSystemModal + vbCritical, ErrMsgTxt & " [IE.busy]"
WScript.Quit ' メインプログラム終了
End If
WScript.Sleep(CheckTime_)
Loop
t_ = 0
Do While objIE_.Document.readyState <> "complete"
t_ = t_ + CheckTime_
If t_ > TimeOut Then
MsgBox "IE Time Out error. [complete]", _
vbSystemModal + vbCritical, ErrMsgTxt & " [complete]"
WScript.Quit ' メインプログラム終了
End If
WScript.Sleep(CheckTime_) :
Loop
End Sub

REM ======== iexplore.exe をアクティブに ============
Private Sub S_IE_Activate
Dim Lt__, Sv__, En__, Sh__, It__

WScript.Sleep(200)
Set Sh__ = CreateObject("WScript.Shell")
'起動中のプロセスの一覧から iexplore.exe を検索
Set Lt__ = CreateObject("WbemScripting.SWbemLocator")
Set Sv__ = Lt__.ConnectServer
Set En__ = Sv__.InstancesOf("Win32_Process")
For Each It__ In En__
If Not IsEmpty(It__.ProcessID) Then
If InStr(It__.Description, "iexplore.exe") Then
Sh__.AppActivate(It__.ProcessID)
' Exit For
End If
End If
Next
WScript.Sleep(200)
Set Sh__ = Nothing
Set En__ = Nothing
Set Lt__ = Nothing
End Sub

rem ここまで--------------
Outlookアカウントの移行・バックアップ メモ
路肩の花

Windows XP から 8.1 に移行して困った事の筆頭がメール。
POPでアクセス出来なくなり、メールの受信・送信が出来なくなりました。
MS社は唐突に方針を変更するので困りものです。
(HELPファイルでも苦労したし・・・)

てなわけでOffice付属のOutlookでメールのやりとりをする事にしたのですが、
メールアカウントのバックアップ・復旧方法が無い

セキュリティかどうかは不明ですが、XP(Outlook Express)からOutlookへはシコシコと1アカウントずつ設定する羽目になりました。

メールアカウントだけで20以上使用している身としてはとても辛い。 (;_;)

色々調べると
  HKEY_CURRENT_USER¥Software¥Microsoft¥Windows NT¥CurrentVersion¥Windows Messaging Subsystem¥Profiles
このレジストリに保管されているとの事。
しかし私のPCにはこんなレジストリ設定されてませんでした。

さらに調べると、2013ではレジストリが変更されているとの情報が。 (^_^)
  HKEY_CURRENT_USER¥Software¥Microsoft¥Office¥15.0¥Outlook¥Profiles

ここらしい!

一応!regeditでレジストリをバックアップしました。
なんとかなりそうです。 (^_^)