カテゴリ:バッチファイル( 31 )

ログオン時のNumLockを制御するバッチファイル

ログオン時のNumLock状態はレジストリで制御されます。

下記のバッチファイルを管理者として実行すれば、NumLockがOFFになります。

ON にしたい場合は中身を書き換えて、
set THE_VALUE=2
としてください。


参考URL
https://support.microsoft.com/en-us/kb/315468/ja
https://technet.microsoft.com/en-us/library/cc978657.aspx



[PR]
by golorih | 2015-06-12 14:29 | バッチファイル | Trackback | Comments(0)

WindowsUpdateが終了したら自動シャットダウンするバッチファイル

Windows Update を手動でかけていて、「あー、ダウンロードとアップデートが終わったら勝手にシャットダウンしてほしーなー」と思ったので作った。

https://dl.dropboxusercontent.com/u/3395850/golorih.exblog.jp/ShutdownAfterUpdate.bat

仕組みは単純で、アップデートのダウンロード中やアップデート中には、C:\Windows\WindowsUpdate.log が延々更新され続けるわけで、更新がされなくなったら終わったとみなせるよね、っていうだけのツール。
デフォルトでは300秒(5分)毎にチェックして、前とログサイズが変わらなかったらシャットダウンする仕組み。

10Mbpsのハブが現役のとこでWSUSからのダウンロードなのに激遅だったので作ったもの。

[PR]
by golorih | 2014-10-28 17:13 | バッチファイル | Trackback | Comments(0)

前回ログオン時のユーザー名を変更するバッチファイル

クライアントパソコンを直接いじる際、管理者アカウントでログオンして作業すると、次回クライアント利用時にその利用者のアカウント名が入ってないため、「パスワードを入力したのにログオンできない!」みたいな連絡が発生することがある。

以下は前回ログオン時のユーザー名を変更するバッチファイル。
ドメイン名はバッチファイルを書き換えて使ってください。
Windows XP と 7 で動作確認しましたが、後はわかりません。


▼使い方
  1. バッチファイルを書き換えて、ドメイン名を指定する。
     EXAMPLE.LOCAL の場合、EXAMPLE のみで指定。
  2. バッチファイルを実行する。
     管理者権限が必要なため、UACが有効な場合は「管理者として実行」とすること。
  3. C:\Users フォルダが日付順にソートされて表示されるので、どのユーザーとしてログオンするか決めて、そのユーザー名を入力。

以上。

[PR]
by golorih | 2014-10-28 14:14 | バッチファイル | Trackback | Comments(0)

環境変数を再帰展開する@バッチファイル

例えば環境変数 HOGE の値が
%USERPROFILE%\HOGE

の場合、%USERPROFILE% は展開されない。
上記のような環境変数内の環境変数を展開するための処理を作ったので掲載しておく。

[ 動作サンプル ]  DL: 環境変数再帰展開.bat

@echo off
set HOGE=%%USERPROFILE%%\HOGE

echo 再帰展開前 : %HOGE%
call :環境変数再帰展開 "%HOGE%"
echo 再帰展開後 : %環境変数再帰展開%
goto EOF


:環境変数再帰展開
:: 環境変数の値 %USERNAME%\Desktop を C:\Users\example\Desktop のように展開する。
:: %1 : 再帰展開する環境変数の値
set 環境変数再帰展開テンポラリファイル=%TEMP%\TEST%random%.bat
echo set 環境変数再帰展開=%~1>"%環境変数再帰展開テンポラリファイル%"
call "%環境変数再帰展開テンポラリファイル%"
del "%環境変数再帰展開テンポラリファイル%"
set 環境変数再帰展開テンポラリファイル=
exit /b

:EOF
pause



[PR]
by golorih | 2014-03-17 19:10 | バッチファイル | Trackback | Comments(0)

バッチファイルで文字列の置換処理

こんな感じで。
結果は環境変数RESULT に格納されます。

なお、途中でテンポラリフォルダにバッチファイルを作成するので、万一書き込み権限がないと失敗します。

ダウンロード: replace.bat
@echo off
rem テストコード
echo 大蔵省 を 独立行政法人 に置換する処理。
call :STR_REPLACE 大蔵省 独立行政法人 大蔵省造幣局
echo 置換後:%RESULT%
goto EOF

:STR_REPLACE
:: 文字列の置換処理
:: %1 : search(検索する文字列)
:: %2 : replace(置換後の文字列)
:: %3 : subject(対象の文字列)
:: subject の中の search を全て replace に置換します。
set STR_REPLACE=%~3
set STR_REPLACE_BATCH=%TEMP%\str_replace%RANDOM%.bat
echo set RESULT=%%STR_REPLACE:%~1=%~2%%>"%STR_REPLACE_BATCH%"
call "%STR_REPLACE_BATCH%"
del "%STR_REPLACE_BATCH%"
exit /b

:EOF
pause


(引数の順序はPHPの同名関数に準じました)

[PR]
by golorih | 2014-02-12 21:11 | バッチファイル | Trackback | Comments(0)

バッチファイルでユーザーアカウントの表示名を取得する

バッチファイル中で表示名を取得するのを作ったので置いておきます。


ドメインにログオンしている場合しか使えません。
ローカルで使う場合は `net user %USERNAME% /domain` の /domain を消せば動きます。


動作環境:
 Windows XP, 7 , 8 各日本語版(英語版等では動きません)
 Vista でも動きそうな気はしますが未検証。
※ net user コマンドの結果に依存しています。


[PR]
by golorih | 2013-11-27 16:45 | バッチファイル | Trackback | Comments(0)

IPアドレスを環境変数に取得するバッチファイル

IPv4アドレスを環境変数に取得するバッチファイルを書いたので置いておきます。

VPNやら仮想PCやらやってると、IPアドレスが1個だけでは済まないので、環境変数
  • MyIP1
  • MyIP2
  • MyIP3
  • ...
のように複数の環境変数に取得します。

動作確認は Windows7 (x64) のみです。
ipconfig.exe の実行結果に依存するので、Windows XPでは動かないハズ。


サンプルコード : Download

@echo off
setlocal ENABLEDELAYEDEXPANSION
:: 環境変数 MyIP1, MyIP2, MyIP3... にIPアドレスを取得する

call :GET_IP_ADDRESSES
if defined MyIP1 echo IP1: %MyIP1%
if defined MyIP2 echo IP2: %MyIP2%
if defined MyIP3 echo IP3: %MyIP3%
goto EOF


:GET_IP_ADDRESSES
set GET_IP_ADDRESSES_COUNT=1
for /f "usebackq delims=: tokens=2*" %%i in (`ipconfig.exe ^| findstr.exe /r /c:"IPv4 .*"`) do (
set MyIP=%%i
set MyIP!GET_IP_ADDRESSES_COUNT!=!MyIP: =!
set /a GET_IP_ADDRESSES_COUNT=!GET_IP_ADDRESSES_COUNT!+1
)
exit /b


:EOF
pause

[PR]
by golorih | 2013-11-05 17:45 | バッチファイル | Trackback | Comments(0)

バッチファイルでプロキシサーバとIEのスタートページを設定

以前書いた IE10 でプロキシサーバを設定するグループポリシーが使えなくなった件 の方法(グループポリシーでレジストリを書き換える方法)だと、初回ログオン時にはプロキシ設定が正しく反映されませんでした。
原因はよくわかりませんが/(^o^)\ ログオンスクリプトで数秒時間をあけてから反映させると大丈夫っぽいです。

というわけで、バッチファイルを作りましたので置いておきます。
DL: プロキシとスタートページ設定.bat


設定値を任意で書き換えて使います。
環境変数 THE_PROXY_OVERRIDE で <local> を使う場合は ^<local^> のようにハイハットを付けて特殊記号のエスケープをするようにしてください。
なお、<local> は [ローカルアドレスにはプロキシサーバを使用しない] のチェックボックスをオンにするために設定する値です。

あと動作確認用に、イベントログの アプリケーションログ に成否を記録しています。
[PR]
by golorih | 2013-08-28 22:09 | バッチファイル | Trackback | Comments(0)

システム環境変数をバッチファイルで設定する方法

バッチファイルで SET コマンドをもちいて環境変数を設定しても一時的にしか設定されません。
恒久的に設定するためには wmic コマンドを使用します。

環境変数 HOGE に、値 FooBar を設定する場合は下記のようにします。
wmic.exe environment create name="HOGE", username="<SYSTEM>", variablevalue="FooBar"

なお、既に環境変数 HOGE がある場合は設定に失敗しますので、下記のように環境変数を削除してから実行すると良いです。
wmic.exe environment where name='HOGE' delete
wmic.exe environment create name="HOGE", username="<SYSTEM>", variablevalue="FooBar"

コマンド実行後、下記のようにシステム環境変数が登録されます。
e0051410_1037301.png
参考用に、実際のバッチファイルも置いておきます。 システム環境変数設定.bat

注意&備考

・設定した環境変数が使えるようになるのは、次回ログオン以降です。現在のセッションでは使用できません。
・管理者として実行する必要があります。
・スタートアップスクリプトでも動きます。

追記:setx コマンドで簡単にできましたorz

[PR]
by golorih | 2013-08-28 20:22 | バッチファイル | Trackback | Comments(0)

バッチファイルで複数の小数点を含む値を比較する

バッチファイルで使用される if には、 LSS GTR 等の値を比較できる演算子があります。
例えば LSS は "左辺は右辺より小さい" を意味します。
しかしソフトウェアのバージョン番号のように、複数の小数点があらわれる値には対応していません。
if 1.0.1.10 lss 1.0.1.9 echo hoge
とすると、hoge が表示されることから確認できます(*1)。

というわけで、 複数の小数点で区切られた値同士を正しく比較する(つまりバージョン番号でどっちが新しいかをちゃんと判断できる)バッチファイルを作りましたので置いておきます。
小数点が8個までなら対応できてるはずです。

使い方はソースを参照のこと。
サンプルコード付きです。

https://dl.dropboxusercontent.com/u/3395850/golorih.exblog.jp/CompareVersion.bat


*1 if での小数点の比較
小数点 1つだけなら正しく比較されます。 Windows 7 Professional (x64) で確認。
[PR]
by golorih | 2013-06-18 17:47 | バッチファイル | Trackback | Comments(0)


システム関連の個人的な備忘録。基本的にWindows関連です。

プロフィール

関連


Memoる

一生懸命だと知恵が出る
中途半端だと愚痴が出る
いい加減だと言い訳が出る

「やりたい」なんて言葉は使う必要が無い。「今やってる」「もうやった」「やらないことにした」なら使って良い。
まずは相手を好きになる、その次に相手のいい部分を探す、そして評価できる部分を見つける。それからです、誉めるのは。

カテゴリ

全体
ソフトウェア関連
ソフトウェア開発
Linuxサーバ
その他
Webサービス
MySQL
システム管理
test
バッチファイル
つぶやき
パソコンメーカー
jQuery
レビュー
実験と検証
セキュリティ対策
YahooPipes
vbs
ハードウェア関連
WordPress
JavaScript
HTML&CSS
Welcart
未分類

以前の記事

2017年 09月
2017年 07月
2016年 12月
2016年 10月
2016年 08月
2016年 07月
2016年 04月
2016年 03月
2016年 01月
2015年 12月
2015年 11月
2015年 10月
2015年 09月
2015年 08月
2015年 07月
2015年 06月
2015年 05月
2015年 03月
2015年 01月
2014年 11月
2014年 10月
2014年 09月
2014年 08月
2014年 06月
2014年 05月
2014年 04月
2014年 03月
2014年 02月
2014年 01月
2013年 12月
2013年 11月
2013年 10月
2013年 09月
2013年 08月
2013年 07月
2013年 06月
2013年 05月
2013年 04月
2013年 03月
2013年 02月
2013年 01月
2012年 12月
2012年 11月
2012年 10月
2012年 09月
2012年 08月
2012年 07月
2012年 05月
2012年 04月
2012年 03月
2012年 02月
2011年 11月
2011年 10月
2011年 09月
2011年 06月
2011年 05月
2011年 04月
2011年 03月
2011年 02月
2010年 12月
2010年 11月
2010年 10月
2010年 09月
2010年 08月
2010年 07月
2010年 06月
2010年 02月
2009年 12月
2009年 10月
2008年 12月
2008年 06月
2008年 05月
2008年 04月
2008年 03月
2008年 01月
2007年 12月
2007年 11月
2007年 08月
2007年 07月
2005年 09月
2005年 08月

フォロー中のブログ

最新のコメント

検索してたどり着きました..
by KA at 06:53
VNCでええやん、まんど..
by 7C at 14:59
最近AEROADMINを..
by 森隆弘 at 09:48
亀ですがリンク先修正しま..
by golorih at 14:47
あれから何度かONUとP..
by 朝から at 19:56
バッチが見れないので中身..
by あいりっく at 17:28
>朝から >自宅の環境..
by Troro at 23:29
試した結果、記事の方法で..
by Tororo at 23:18
ONUに直接PCを接続す..
by 朝から at 07:18
実は私のキーボードもJと..
by 元群馬県人(現在九州人) at 08:48

その他のジャンル

ファン

記事ランキング

ブログジャンル

ネット・IT技術

画像一覧