雪国の技術的な夏

プログラミング的な話や特定のツール設定の話など。 ※ただし変態に限る。

WindowsのPC名をバッチで変更する

※実施は自己責任でお願いします。


[動作確認済みの環境]
Windows7 Professional
・WindowsServer2013R2
・WindowsServer2008R2


[ソース]

・PC名変更.bat

@echo off
setlocal


set PcName=JiyuunaPCName


echo ■PC名変更
wmic computersystem where name="%COMPUTERNAME%" call rename name="%PcName%"

if "%ERRORLEVEL%" NEQ "0" (
  call :echocln "c" "PC名変更失敗:コード=%ERRORLEVEL%"
  goto :ProcEnd
)




call :echocln "9" "■■■パソコンを再起動します■■■"
pause

rem 1秒後に再起動
shutdown -t 1 -r


:ProcEnd
pause
exit /b 0


rem :::::::::::::::::::::::::::::::::::::::::::::
rem :: 色変更(改行なし)
rem :: ※色番号に関してはbatヘルプ参照「help color」
rem :: ※表示テキストがファイル名となる都合上、半角「\/:*?"<>|」が出力できないため無理矢理変換を書ける
rem :: 
rem :: [引数]
rem ::   %1 : 色番号
rem ::   %2 : テキスト
rem :::::::::::::::::::::::::::::::::::::::::::::
:echoc
set TmpDir=%TEMP%\__echoc__
set DumpTxt=%~2
set DumpTxt=%DumpTxt:\=¥%
set DumpTxt=%DumpTxt:/=/%
set DumpTxt=%DumpTxt::=:%
set DumpTxt=%DumpTxt:<=<%
set DumpTxt=%DumpTxt:>=>%
set DumpTxt=%DumpTxt:|=|%
set DumpTxt=%DumpTxt:?=?%
set DumpTxt=%DumpTxt:"=”%
rem "←エディタ色表示用
rem 「*」置換は諦める
if exist "%TmpDir%\" rd /s /q "%TmpDir%"
md "%TmpDir%"
pushd "%TmpDir%"
<nul >"%DumpTxt%" cmd /k prompt $h
findstr /a:%~1 "." "%DumpTxt%" nul
popd
rd /s /q "%TmpDir%"
goto :EOF

rem :::::::::::::::::::::::::::::::::::::::::::::
rem :: 色変更(改行あり)
rem :: ※色番号に関してはbatヘルプ参照「help color」
rem :: ※表示テキストがファイル名となる都合上、半角「\/:*?"<>|」が出力できないため無理矢理変換を書ける
rem :: 
rem :: [引数]
rem ::   %1 : 色番号
rem ::   %2 : テキスト
rem :::::::::::::::::::::::::::::::::::::::::::::
:echocln
set TmpDir=%TEMP%\__echocln__
set DumpTxt=%~2
set DumpTxt=%DumpTxt:\=¥%
set DumpTxt=%DumpTxt:/=/%
set DumpTxt=%DumpTxt::=:%
set DumpTxt=%DumpTxt:<=<%
set DumpTxt=%DumpTxt:>=>%
set DumpTxt=%DumpTxt:|=|%
set DumpTxt=%DumpTxt:?=?%
set DumpTxt=%DumpTxt:"=”%
rem "←エディタ色表示用
rem 「*」置換は諦める
if exist "%TmpDir%\" rd /s /q "%TmpDir%"
md "%TmpDir%"
pushd "%TmpDir%"
<nul >"%DumpTxt%" cmd /k prompt $h
findstr /a:%~1 "." "%DumpTxt%" nul
popd
rd /s /q "%TmpDir%"
echo.
goto :EOF

[その他]
・「JiyuunaPCName」部分を文字通り”自由なPC名”に変えて使用してください。
・ソース書いてる通りですが、エンター押せば自動で再起動もかけてくれます。
 不要ならコメント化を。
・「色変更部分なんぞ要らぬ」という場合は各自で消してください。

[備考]
バッチでの簡易色変更関数 - 雪国の技術的な夏