[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
rundll32.exe shimgvw.dll,ImageView_PrintTo /pt フルパス引用符付き "プリンタ名"
for /f "tokens=* delims=#" %%a in ( 'aaaa#bbb#cccc#dd#ee') do (
set aa=%%a
set bb=%%b
set cc=%%c
)
【解説】
delims ⇒ 区切り文字
tokens ⇒ 区切りされて取得した文字列の何番目を取得するか * は全て
%%a ⇒ 全て取得するので、%%aから順にセットされていく。
例の場合、#で区切った aaaa bbb cccc dd ee と5つに分かれるので、
%%a %%b ~ %%e までセットされる
■文字を見つける(テキストファイルからある文字列を取得する)
findstr /r /c:"取得したい文字列" "ファイル名"
■組み合わせ
for /F "tokens=* delims=" %%x in ('findstr /r /c:"取得したい文字列" "ファイル名"') do (
set "xx=%%x"
)
グリーンITの一環
【条件】
・WindowsXPsp2以上 (コマンドさえコピーすればWin2000でも使用可)
・管理者権限でログインしている
【コマンド】
powercfg.exe
【使用方法】
powercfg /C 電源オプション変更
powercfg /X 電源オプション変更 /monitor-timeout-ac 10
【説明】
1行目 電源オプション変更 という設定項目を作成する。
2行目 電源オプション変更 に ディスプレイの電源設定を変更する。
例では、コンセント使用時に 10分アクセスない場合は、ディスプレイ電源を落とす。
【管理者権限以外の場合】
グループポリシーの設定を変更する事により、対応可能。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1026pcfgpolicy/pcfgpolicy.html
ディスクの空き容量が少なくなった場合、管理者にメッセージを送付する方法
(全てDOSコマンドで行う場合)
【コマンド】
setlocal enabledelayedexpansion
net use Z: \\サーバのアドレス\C$ ・・・①
cd /d Z:
for /f "skip=4 tokens=1-4 delims= " %%b in ('dir "*"') do ( ・・・②
if "%%c"=="個のディレクトリ" set moto=%%d
)
for /f "tokens=1-4" %%a in ('echo %moto%') do set Aki=%%a%%b%%c%%d ・・・③
set keta=/%Aki%
rem 999MB以下の場合 ・・・④
if %keta:~-10,1%==/ (
goto :C_NG
)
rem 1GB以上の場合 ・・・⑤
if %keta:~-11,1%==/ (
set aaa=%Aki:~0,8%
goto :C_OK1
)
rem 10GB以上の場合 ・・・⑥
if %keta:~-12,1%==/ (
goto :C_END
)
:C_OK1
rem 4GB以下ならメッセージを送る
set /a ccc = 40000000
if %aaa% LEQ %ccc% ( ・・・⑦
goto :C_NG
) else (
goto :C_END
)
:C_NG
set errmsg=空き容量がありません UOPPIF01\C ⇒ 空き%moto%バイト
net send 192.168.160.112 %errmsg% ・・・⑧
:C_END
net use /YES /delete z: ・・・⑨
【解説】
①容量を調べる為に、調べたいサーバのディスクをネットワークディスクとして接続する
②dirコマンドを実行し、最後に表示されるディスク空き容量を調べる
③dirで表示される空き容量は、1000単位でカンマ区切りされている為、
カンマを取り除き、変数(Aki)にセットする
④DOSの制限で、1000000000以上の数値は扱えない。
そこで、比較を行う為、桁数を取得し、頭8文字の数値を取得する
999MB以下は、比較する前にNGなので、すぐC_NGに移動
⑤1GB以上は、頭8桁を取得し、C_OK1へ移動
⑥10GB以上は、問題なくOKなので、C_ENDへ移動
⑦エラー表示させたい最低の容量をセットし、取得した空き容量と比較
LEQ=以下
⑧net send で管理者にメッセージを送付
⑨①で接続したネットワークディスクを切断させる
ダウンロード(bat)
DOSプロンプトから電源を落としたり、スタンバイにしたりする方法
【コマンド】
・シャットダウン
shutdown
【備考】
※-m \\コンピュータ名 を指定する事により、リモートシャットダウンする事もできる
※WindowsXPや2003では標準で装備。Windows2000では、XPのshutdown.exeをコピーする事により可能
ライセンスの良し悪しは不明 (C:\windows\system32\shutdown.exe)
win2000sp4では問題なく起動した。引数オプションもOK
・スタンバイ
%windir%\System32\rundll32.exe powrprof.dll,SetSuspendState
※電源オプションの設定を休止状態を有効にするにチェックしていれば、スタンバイでなく休止になる
※休止状態とスタンバイは、shutdownコマンドではなく、rundll32.exeからオプション付きで
powrprof.dllを呼び出すことにより、実行できる