✨
【Windows環境】SES現場で何度も助けられたコード集
些細な手作業を簡略化してくれるコード達です。
現場でコソッとやっておくと楽に仕事ができるかもしれません。追加で思いついたらここに記述していきますね。
全てのExcelシートでカーソルをA1の位置に合わせる
Excelで資料をまとめた時は、カーソル位置(アクティブセル)をA1にして納品するのが普通です。下記のコードはコピペで使用できます。一応、Mac版にも対応しています。
Sub AlignSheetsToA1()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Activate
Application.Goto Reference:=ws.Range("A1"), Scroll:=True
Next ws
End Sub
現在時刻でフォルダを生成するバッチ
大量にログを作成するときや、実行ファイルを生成する時(特に組み込み系で)に役立つバッチ処理です。
@echo off
setlocal enabledelayedexpansion
rem 現在の日付と時刻を取得
for /f "tokens=1-5 delims=/:- " %%a in ("%date% %time%") do (
set "YYYY=%%a"
set "MM=%%b"
set "DD=%%c"
set "HH=%%d"
set "NN=%%e"
)
set "datetime=%YYYY%-%MM%-%DD%_%HH%-%NN%"
rem フォルダを作成
mkdir "!datetime!"
endlocal
現在時刻でMDファイルを生成するバッチ
大量にログを取ったり、メモを取ったりするのに役立つバッチ処理です。マークダウンに対応できるようにMD形式にしています。
テキストファイルにする場合は"log_%t%.md"
ここを修正しましょう。
@echo off
set "t=%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%"
type nul > "log_%t%.md"
共有フォルダに接続するバッチ
共有フォルダにダブルクリックで接続できるバッチ処理です。現場によってはパスワード保存が禁止で毎回手打ちしなければいけませんが、そのような場合でもバッチで接続は基本OKです。
@echo off
setlocal
rem ↓ここを書き換えてください
set "SERVER=\\192.168.1.4"
set "USERNAME=ユーザー名をここに"
set "PASSWORD=パスワードをここに"
net use %SERVER% /user:%USERNAME% %PASSWORD%
if %errorlevel% neq 0 (
echo connect NG
) else (
echo connect OK
)
endlocal
pause
バッチを管理者権限で実行する
バッチファイルの実行に管理者権限が必要な場合は、既存のコードに以下を挿入します。毎回、右クリックして「管理者権限で実行」をする手間が省けます。
@echo off
:: 管理者権限で実行しているか確認
net session >nul 2>&1
if %errorlevel% neq 0 (
echo 管理者権限が必要です。再起動します...
powershell -Command "Start-Process '%~f0' -Verb runAs"
exit /b
)
CapsLockキーをCtrlキーとして使用するバッチ(追記)
CapsLockキーが不要な場合は、小指の負担軽減ができます。
エンコードはANSIで保存して、管理者権限での実行が必要です。
@echo off
echo レジストリを変更しています...
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map" /t REG_BINARY /d 0000000000000000020000001d003a0000000000 /f
echo 完了しました。PCを再起動すると反映されます。
pause
CapsLockキーに戻すバッチ
同じく、エンコードはANSIで保存して、管理者権限での実行が必要です。
@echo off
echo CapsLockの変換を元に戻しています...
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map" /f
echo 削除が完了しました。PCを再起動すると元に戻ります。
pause
以上、炎上案件を何度も一緒に乗り越えてきたコード達でした。
Discussion