MW211 EXIT

devlog
DOSコマンド/年月日時分秒
2014年10月15日
年月日を「YYYYMMDD」形式で取得する方法。
┌──────────────────────────────────────┐
│set YMD=%date:~-10,4%%date:~-5,2%%date:~-2,2%                               │
│echo %YMD%                                                                  │
├──────────────────────────────────────┤
│set YMD=%date:/=%                                                           │
│echo %YMD%                                                                  │
└──────────────────────────────────────┘

時分秒を「HHIISS」形式で取得する方法。
┌──────────────────────────────────────┐
│set HIS=%time:~-11,2%%time:~-8,2%%time:~-5,2%                               │
│set HIS=%HIS: =0%                                                           │
│echo %HIS%                                                                  │
├──────────────────────────────────────┤
│set HIS=%time:~0,8%                                                         │
│set HIS=%HIS::=%                                                            │
│set HIS=%HIS: =0%                                                           │
│echo %HIS%                                                                  │
└──────────────────────────────────────┘
時(HH)がゼロパディングされないので、自前で行う必要がある。

バックアップファイルのファイル名などに利用できる。
分類:Windows
DOSコマンド/ファイルがあるか?
2014年10月13日
複雑なツリー構造の残骸が残った場合、不要だから削除したいんだけど、
本当にその中にファイルが混じってないか不安な時がある。

そういう時にファイルを検索するコマンド。
┌──────────────────────────────────────┐
│>dir /b/s/a-d                                                               │
│ファイルが見つかりません                                                    │
└──────────────────────────────────────┘
分類:Windows
Windows/BOM除去
2014年08月08日
BOM付きUTF-8ファイルをBOM無しにする方法。

・サクラエディタで開いて、BOM無しで保存する。

他にもいろいろありそう。
分類:Windows
Windowsバッチ/カレントフォルダ
2014年08月05日
実行したバッチのあるフォルダにコピーしてきたい場合。
#Linuxでいうところの「cp コピーしたいファイル .」をしたい場合。
┌──────────────────────────────────────┐
│copy コピーしたいファイル %~dp0                                             │
└──────────────────────────────────────┘

「.」が「%~dp0」ってことになる。

「%0」がバッチファイルのフルパス(ファイル名も含む)でかつ
ダブルクォーテーションで囲まれたもの。

「%~0」でダブルクォーテーションをはずしたもの。

「%~dp0」でドライブ名とパスのみ、つまりファイル名を除いたものとなる
ということらしい。

「%~d0」でドライブ名のみ、「%~p0」でパス名のみとなる。

但し、「%dp0」「%d0」「%p0」でダブルクォーテーションつきで
分割はできないようだ。
分類:Windows
Windowsバッチ/文字コード
2014年08月02日
UTF-8で記述したバッチファイルを実行した場合、
文字コードをUTF-8と宣言した場合(「chcp 65001」)は
正しく出力される
┌──────────────────────────────────────┐
│chcp 65001                                                                  │
│echo アップ> out.txt                                                        │
├──┬───────────────────────────────────┤
│結果│E3 82 A2  E3 83 83  E3 83 97   0D 0A  (アップ+CRLF)                  │
└──┴───────────────────────────────────┘

しかし宣言しなかった場合は、一部正しく出力されない。
┌──────────────────────────────────────┐
│REM chcp 65001                                                              │
│echo アップ> out.txt                                                        │
├──┬───────────────────────────────────┤
│結果│E3 82 A2  E3 83 81  45 81 45   0D 0A   (ア文字化け)                   │
└──┴───────────────────────────────────┘
正しく出力されるのもあるので厄介。
恐らく基本正しく認識されるのだろうが、一部前後関係で誤認識するようだ。

但し、psql(PostgreSQL)で、SQL文中に日本語文字をベタ書きすると
エラーとなってしまうようだ。
┌──────────────────────────────────────┐
│chcp 65001                                                                  │
│psql … -c "SELECT 'あ';"> out.txt                                          │
├──────────────────────────────────────┤
│ERROR:  invalid byte sequence for encoding "UTF8": 0x82                     │
└──────────────────────────────────────┘

既定のsjisに戻してあげれば(「chcp 932」)回避できる。
┌──────────────────────────────────────┐
│chcp 65001                                                                  │
│chcp 932                                                                    │
│psql … -c "SELECT あ;"> out.txt                                            │
└──────────────────────────────────────┘
なんでだろう?
分類:Windows
DOSバッチ/バッチ名と実行ファイル名
2014年07月28日
バッチ名を考えるのがめんどくさい時、
つい実行ファイル名と同名をつけてしまうと大変なことになる。

実行ファイルを実行するのではなく、自身のバッチを実行してしまうことになるからだ。

例えば「hoge.exe」を実行する以下のようなバッチを「hoge.bat」として実行した場合。
┌──────────────────────────────────────┐
│hoge                                                                        │
└──────────────────────────────────────┘
再帰的に呼びだされるらしく、DOS窓に実行履歴が大量に出力されて止まらなくなる。
┌──────────────────────────────────────┐
│C:\>hoge                                                                    │
│                                                                            │
│C:\>hoge                                                                    │
│                                                                            │
│C:\>hoge                                                                    │
│                                                                            │
│:                                                                          │
└──────────────────────────────────────┘

次に、標準出力の向き先を変えて指定した場合。
┌──────────────────────────────────────┐
│hoge >log.log                                                               │
└──────────────────────────────────────┘
出力先「log.log」に出力される内容は、自身の実行履歴ただ一行。
┌──────────────────────────────────────┐
│                                                                            │
│C:\>hoge 1>log.log                                                          │
└──────────────────────────────────────┘

とにかく、何気なくはまってしまうので注意。
分類:Windows
Windowsログ/スリープ時のログ
2014年06月20日
この前、シャットダウン時のログを調べたが、スリープ時はどうか。

こちらはこんな感じだ。
┌──────────────────────────────────────┐
│システムがスリープ状態になります。                                          │
│スリープの理由: アプリケーション API                                        │
└──────────────────────────────────────┘
手動でも「アプリケーション API」扱いらしい。
分類:Windows
Windows/リモートデスクトップのプリンタエラー
2014年06月19日
リモートデスクトップで接続すると、接続先のイベントビューアに
以下のエラーが記録される場合がある。
┌──────────────────────────────────────┐
│プリンター ■■■■ に必要なドライバー ■■■■ が認識されません。          │
│管理者に問い合わせてドライバーをインストールしてから、                      │
│もう一度ログインしてください。                                              │
└──────────────────────────────────────┘

これは、自身のローカルプリンタが接続先にマッピングされるかららしい。
で、そのプリンタがないから、エラーと。。。

対策としては、以下ウインドウにて、「■プリンタ」のチェックをはずすとよい。
┌──────────────────────────────────────┐
│リモートデスクトップ接続                                                    │
├──────────────────────────────────────┤
│┌─┌─┌────────┐─┐─┐─┐                                    │
││  │  │ローカルリソース│  │  │  │                                    │
│┌───┘                └───────────────────────┐│
││┌ローカルデバイスとリソース─────────────────────┐││
│││リモートセッションで使用するデバイスとリソースを選択してください    │││
│││  □プリンタ                                                        │││
││└──────────────────────────────────┘││
│└────────────────────────────────────┘│
└──────────────────────────────────────┘

もしくは、rdpファイルを直接エディタで開いて以下を変更するとよい。
┌──────────────────────────────────────┐
│redirectprinters:i:1                                                        │
└──────────────────────────────────────┘
  ↓                                                                            
┌──────────────────────────────────────┐
│redirectprinters:i:0                                                        │
└──────────────────────────────────────┘
分類:Windows
Windows/ユーザフォルダ
2014年06月10日
以下のユーザフォルダがある(Vista以降)。
(1) C:\Users\ユーザ名\AppData\Roaming    …ユーザに依存する設定ファイル
(2) C:\Users\ユーザ名\AppData\Local      …PCに依存する設定ファイル
(3) C:\Users\ユーザ名\AppData\LocalLow   …PCに依存する設定ファイル(制限あり)
IEなどのように外部から実行される可能性のあるものは(3)ということになる。
分類:Windows
Windows/時刻合わせ間隔
2014年05月09日
タイムサーバを使って時刻合わせを行う場合、タイムサーバを設定すれば、
一定間隔で時刻合わせが行われる。

では、その「一定間隔」とは?

「regedit」で以下のレジストリの値として確認できる。(「SpecialPollInterval」の値)
┌──────────────────────────────────────┐
│HKEY_LOCAL_MACHINE                                                          │
│└SYSTEM                                                                    │
│  └CurrentControlSet                                                       │
│    └services                                                              │
│      └W32Time                                                             │
│        └TimeProviders                                                     │
│          └NtpClient    →「SpecialPollInterval」の値                      │
└──────────────────────────────────────┘
分類:Windows
前へ 1 2 3 4 5 6 次へ