WebPenguin のすべての投稿

Windows起動時の自動ログイン設定

control userpasswords2 か netplwiz コマンドをWindowsキー+Rで入力し、実行

入力が必要のチェックを外して、パスワード入力

空パスワードの設定では、使えない機能があるので、設定するが、ログインを自動でさせたい時に利用

Windows11でも有効

ローカルでjavascriptをブラウザ表示

ウェブサーバ無しで、デジタルサイネージにjavascriptで作成したカウントダウン表示をブラウザで表示させる

C:\inetpubを、srv名でファイル共有にする
\\127.0.0.1\srv

この共有フォルダへ設定を記述したindex.htmlを置く

IEのローカルイントラネットゾーンへfile://127.0.0.1を登録

以下をBATファイルで実行(-k キオスクモード)

start “” “C:\Program Files (x86)\Internet Explorer\iexplore.exe” -k “\\127.0.0.1\srv\index.htm”

バッチファイルでアプリを実行

普通に記述すれば、アプリケーションは実行されるが、新しいウィンドウで別に実行させたい時は、startコマンドを使う

この場合は、応答を待つことなく、batファイルは進む

※Callを使うと、応答を待つ

start c:\tools\test.exe

start /wait c:\tools\test.bat としても処理を待つ

また、ウィンドウタイトルを指定しないと実行しない場合がある

rem パワーポイントスライドショーファイルを実行
start “” “c:\tools\test.ppsx”

start “Slide show” “c:\tools\test.ppsx”

バッチファイルで、バッチファイルを生成

タスクスケジューラを使ったりして、共有フォルダとローカルを同期処理する場合に、実行するBATファイルに共有フォルダパスをセットする必要がある

同期用のバッチファイルを実行した共有フォルダの位置をセットして、BATファイルを生成するBATファイルの例

rem ローカル変数定義
setlocal
rem カレントディレクトリ取得
set current_dir=%~dp0
rem 生成するバッチファイル
set FName0=C:\tools\配信.bat
rem リダイレクトで出力 >で新規
echo @echo off > %FName0%
rem リダイレクトで出力 >>で追記
echo set FName1=%current_dir%配信data >> %FName0%

rem 環境変数の記述自体を出力した時は、%を2つ記述
echo set FName2=C:\Users\%%USERNAME%%\Desktop >> %FName0%

※リダイレクトを連続すると処理が端末によっては処理が追い付かなくて、抜けることがあるので、間に待ちを入れる必要がある場合がある

rem 1秒待ち
timeout /t 1 /nobreak > nul

固定のファイルと動的に作成するファイルを結合する

ファイル名順に結合される
test01.bat 動的に作成
test02.bat 固定で準備

test01.batとtest02.batを結合して、test.batファイルを作成

copy test*.bat test.bat /b

※この操作で、複数のCSVファイルやログファイルを一つのファイルにまとめることも可能

※普通のコピーするとファイルの末尾に、ゴミコードの行が出来てしまうので、/bオプションを付けてバイナリモードでコピーする

※COPY /? HELP参照
複数のファイルを追加するときは、受け側に 1 個のファイルを指定し、送り側に複数のファイルを指定します (ワイルドカードを使うか、ファイル 1 + ファイル 2 +ファイル 3 と指定します)。

UWSC配布

UWSCのINIファイルを更新して、BATファイル処理で配布するときは、タスクを落として

taskkill /im UWSC.exe /F

UWSCのフォルダへ編集した、UWSC.INIをコピー、現設定ファイルを削除

del “C:\Users\%USERNAME%\AppData\Roaming\uwsc\UWSC.INI”

削除後、UWSCを起動すると自動的にUWSC.INIがコピーされる
start “C:\UWSC\UWSC.exe”

“C:\Users\%USERNAME%\AppData\Roaming\uwsc\”に新しいUWSC.INIファイルがコピーされて、UWSCが起動する

スクリーンコピーのショートカットキー

操作マニュアル等を作る時に、画面の一部を切り取ってパワーポイントなどへ貼り付ける時は、

SHIFT+Windowキー+Sキーを押す

しばらくすると、上部に切り取り方法の選択画面表示されるので、必要なら、選択する

通常は、十字アイコンが表示されるので、範囲指定するとクリップボードへ記憶される

FastCopyの¥指定

FastCopyで、コピー先指定の末尾に¥を付けた場合は、フォルダを作って、その中にコピーされる

例 e:ドライブには、testフォルダのみがある

“c:\test\tools” /to=”e:\test\” では、testフォルダ配下にtoolsフォルダが作成されて、c:\test\tools内のファイルとフォルダがコピーされる
e:\test\tools

“c:\test\tools” /to=”e:\test” では、test配下にc:\test\tools内のファイルとフォルダがコピーされる
e:\test

例 e:ドライブには、test\toolsフォルダのみがあり、フォルダ同期をする場合は、¥を付けない

“c:\test\tools” /to=”e:\test\tools”

FastCopyの除外フィルタ設定

FastCopyは、なんでもコピーするので、注意が必要

ファイルサーバへThumbs.db、desktop.iniがいつの間にかコピーされていて、フォルダが空なのに削除できない事象が起きることがある

※この場合、タスクマネージャーを起動し、エクスプローラーを再起動して、直ぐに、フォルダ削除すると上手くいくことがある

ジョブ登録やバッチファイルでコマンド実行する時は、Exclude設定をしておくとトラブルが少ない

GUIでは、フィルタをチェックして、Exclude欄へ記載
区切りは、;を記載

Thumbs.db;desktop.ini;

ルートドライブをバックアップしたりするときは、以下も設定

$RECYCLE.BIN\;System Volume Information\;
Thumbs.db;desktop.ini;

バッチファイルの記載例

“C:\Program Files\fastcopy\fastcopy.exe” /cmd=diff /acl=FALSE /force_close /error_stop=FALSE /skip_empty_dir=FALSE /Exclude=”$RECYCLE.BIN\;System Volume Information\;Thumbs.db;desktop.ini;” /log /logfile= “C:\Program Files\fastcopy\backup.log” “コピー元パス” /to=”コピー先パス”

バッチファイルでタスクスケジューラ登録

schtasks /Create /SC DAILY /TN TIMEinfo09 /TR \””C:\test folder\test.bat\”” /ST 09:00 /F

空白を含む実行パスは、\”” で囲む
※schtasks のみ schtasks /Create /? のHELPで確認

※複数実行するときは、間に待ち時間を入れないと、一部処理が遅れて登録されないことがあった
timeout /t 1 /nobreak >nul

バッチファイルでファイルの存在チェック

例は、フォルダの存在を確認(ファイル名を記述するとファイル確認)

setlocal

set FNameCHK1=%current_dir%\tools

if not exist “%FNameCHK1%” goto

rem 処理を記述

rem 正常終了
exit

rem エラー終了
:non_exit
cls
echo 必要なファイルが見つからないので、実行できません
echo .
pause