MW211 EXIT

devlog
Windowsバッチ/値入力
2017年07月27日
「set /P」を使う。

以下のような感じ。
┌──────────────────────────────────────┐
│@echo off                                                                   │
│cls                                                                         │
│set /P VAR="値を入力してください:"                                         │
│if "%VAR%"=="" (                                                            │
│    echo 入力がありません                                                   │
│) else (                                                                    │
│    echo 入力された値:%VAR%                                                │
│)                                                                           │
│pause;                                                                      │
└──────────────────────────────────────┘
分類:Windows
Windowsバッチ/空行のecho
2017年07月26日
空行のechoは以下ではダメ。
┌──────────────────────────────────────┐
│echo                                                                        │
└──────────────────────────────────────┘
以下のように「.」をつける。
┌──────────────────────────────────────┐
│echo.                                                                       │
└──────────────────────────────────────┘
分類:Windows
Windows/VirtualStore
2015年07月31日
秀丸エディタでApacheの設定ファイルを編集しようとして
以下を開いて書き込んだ。
┌──────────────────────────────────────┐
│C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf │
└──────────────────────────────────────┘

エラーなく書き込めて、再度読み出しもできて、書き込んだ内容も反映している。

しかしながら、その設定が効かない。

実は、以下のファイルに書き込みを行って(そして読み込みを行って)いるのだ。
┌──────────────────────────────────────┐
│C:\Users\(ユーザ)\AppData\Local\VirtualStore                                │
│   \Program Files (x86)\Apache Software Foundation\Apache2.2\conf\httpd.conf│
└──────────────────────────────────────┘

つまり、反映させたいファイルには反映できていなかったのだ。

これは、WindowsVista以降に実装された機能で
システムファイルを安易に破壊させないための措置とのこと。

アドミン権限でも同じ。

ということで、編集したい場合(効果を出したい場合)には
「メモ帳」(管理者として実行で)を使いましょう。
分類:Windows
Windows/Safeモード起動
2015年07月26日
起動時に「F8」キーを連打する。
押しっぱなしではない。
テンパってる時には間違いがち。
分類:Windows
Windowsコマンド/dirの結果を抽出
2015年07月23日
dirコマンドの結果をサンプルに、どうやれば抽出できるのか試行錯誤してみた

一行目を抽出する方法を試行錯誤した結果がこれ。
┌──────────────────────────────────────┐
│for /f "delims=" %a in ('dir') do (@echo %a> t.txt && exit /B)              │
├──────────────────────────────────────┤
│for /f "usebackq delims=" %a in (`dir`) do (@echo %a> t.txt && exit /B)     │
└──────────────────────────────────────┘

「"delims="」をつけないと、スペースで区切って終わってしまうので注意。

「exit /B」でもコマンドプロンプトから実行するとコマンドは閉じてしまう。
バッチファイルの場合は、「goto break」「:break」みたいな感じで
goto文も使えるのだが、一行コードでは厳しいようだ。

なお、バッチファイルに記述する場合には「%a」を「%%a」と変換する必要あり。


二行目を抽出する場合は、「skip=」で先頭の一行をスキップしてあげればよい
┌──────────────────────────────────────┐
│for /f "delims= skip=1" %a in ('dir') do (@echo %a> t.txt && exit /B)       │
├──────────────────────────────────────┤
│for /f "usebackq delims= skip=1" %a in (`dir`)                              │
│                                             do (@echo %a> t.txt && exit /B)│
└──────────────────────────────────────┘

末尾の一行を抽出するには、とにかくループを回してしまうのが手っ取り早いかも。
┌──────────────────────────────────────┐
│for /f "delims= skip=1" %a in ('dir') do (@echo %a> t.txt)                  │
├──────────────────────────────────────┤
│for /f "usebackq delims= skip=1" %a in (`dir`) do (@echo %a> t.txt)         │
└──────────────────────────────────────┘


行番号を出力して、それを元に抽出するという案もあるのだが
出力した行番号を削除する方法がわからない。
┌──────────────────────────────────────┐
│dir|findstr /n /r "." | findstr /r "^1:"                                    │
└──────────────────────────────────────┘
分類:Windows
Windowsバッチ/set変数の削除
2015年07月21日
┌──────────────────────────────────────┐
│>set 変数 = 値                                                              │
└──────────────────────────────────────┘
うっかり意図しない変数を環境変数として設定してしまった場合…。
┌──────────────────────────────────────┐
│>set                                                                        │
│変数=値                                                                     │
└──────────────────────────────────────┘

削除するには、右辺が空の「set」コマンドを再度実行してやればよい。
┌──────────────────────────────────────┐
│>set 変数 =                                                                 │
└──────────────────────────────────────┘
分類:Windows
Windows/ファイルの更新日時
2015年06月29日
ファイルをコピー(複写)した時に、作成日時が更新される点に注意。
┌───────────┬───┬───┬───┬───┬──────────┐
│    ●=最新日時に更新│ 作成 │ 上書 │ 複写 │ 移動 │  プロパティの場所  │
├───────────┼───┼───┼───┼───┼──────────┤
│①作成日時            │  ●  │  ○  │  ●  │  ○  │全般、詳細/ファイル│
├───────────┼───┼───┼───┼───┼──────────┤
│②更新日時            │  ●  │  ●  │  ○  │  ○  │全般、詳細/ファイル│
├───────────┼───┼───┼───┼───┼──────────┤
│③アクセス日時        │  ●  │  ●  │  ●  │○(*2)│全般、詳細/ファイル│
├───────────┼───┼───┼───┼───┼──────────┤
│④コンテンツの作成日時│  ●  │  ○  │  ○  │  ○  │詳細/元の場所(*1)  │
├───────────┼───┼───┼───┼───┼──────────┤
│⑤前回保存日時        │  ●  │  ●  │  ○  │  ○  │詳細/元の場所(*1)  │
└───────────┴───┴───┴───┴───┴──────────┘
  *1:WordやExcelなどの場合のみ
  *2:異なるドライブへ移動した場合は●
分類:Windows
Windows/WINSとは?
2015年02月08日
「Windows Internet Naming Service」の略。

Windowsネットワークのコンピュータ名をIPアドレスに変換する。

WINSサーバが必要となる。
#Windows版のDNSサーバみたいなもの

WINSサーバは、Windows NTサーバもしくはSambaとなる。
分類:Windows
Windows/ファイル検索
2015年01月17日
コマンドプロンプトで、ファイルの位置を検索するには。
┌──────────────────────────────────────┐
│C:\>dir /b /s | find "ファイル名"                                           │
└──────────────────────────────────────┘
  (上記はCドライブ配下全てを検索する場合(cdで任意の場所に移動して実行のこと))

フルパスでファイル名が出力される。


「dir /b /s」でフルパス一覧が出力され、「find」で抽出ということだ。
分類:Windows
Windows/致命的エラーの戻り値
2014年12月21日
「%ERRORLEVEL%」で直前に実行された結果を戻り値として取得できるが、
根本的な誤りを犯した場合の戻り値は以下の様になる。
┌─────┬────────────────────────────────┐
│戻り値    │3                                                               │
├─────┼────────────────────────────────┤
│winerror.h│ERROR_PATH_NOT_FOUND                                            │
├─────┼────────────────────────────────┤
│メッセージ│指定されたパスが見つかりません。                                │
├─────┼────────────────────────────────┤
│原因      │・存在しないパス(の実行ファイル)を実行した場合(*1)              │
│          │  *1:フルパスの中に「\」を含んでいる場合                       │
└─────┴────────────────────────────────┘
┌─────┬────────────────────────────────┐
│戻り値    │9009                                                            │
├─────┼────────────────────────────────┤
│winerror.h│DNS_ERROR_RCODE_NOTAUTH                                         │
├─────┼────────────────────────────────┤
│メッセージ│'■' は、内部コマンドまたは外部コマンド、                       │
│          │操作可能なプログラムまたはバッチファイルとして                  │
│          │認識されていません。                                            │
├─────┼────────────────────────────────┤
│原因      │・存在しない実行ファイルを実行した場合                          │
│          │  (=適当な文字列をコマンド入力した場合(但し「\」を含むと「3」))│
└─────┴────────────────────────────────┘
分類:Windows
前へ 1 2 3 4 5 6 次へ