忍者ブログ

◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例

   
カテゴリー「Windows Script」の記事一覧

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【BAT】WindowsのOS情報取得ツール

【使い方】以下のバッチファイルを適当なフォルダに格納して実行する

「PC_情報取得バッチ.bat」 ← バッチファイル名

@echo off
::★★★PC情報取得バッチ★★★
::━━━━━━━━━━━━
setlocal
set YYYYMMDD=%DATE:/=%
set xxx=%COMPUTERNAME%
set OS_BIT=%PROCESSOR_ARCHITECTURE%
set x_FILE_000_x=%xxx%_%YYYYMMDD%_ALL.txt
set x_FILE_001_x=%xxx%_%YYYYMMDD%_OS_bit.txt
set x_FILE_002_x=%xxx%_%YYYYMMDD%_User.txt
set x_FILE_003_x=%xxx%_%YYYYMMDD%_Group.txt
set x_FILE_004_x=%xxx%_%YYYYMMDD%_wmic_qfe.txt
set x_FILE_005_x=%xxx%_%YYYYMMDD%_ipconfig.txt
set x_FILE_006_x=%xxx%_%YYYYMMDD%_firewall.txt
set x_FILE_007_x=%xxx%_%YYYYMMDD%_systeminfo.txt
set SOFT_FILE=%xxx%_%YYYYMMDD%_SOFT.csv
set TMP_FILE=%xxx%_tmp.txt
set x_FILE_ZIP_x=%xxx%_%YYYYMMDD%.zip
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %x_FILE_001_x%
echo OSビット情報 >> %x_FILE_001_x%
echo ... "x86" This PC is 32bit OS >> %x_FILE_001_x%
echo ... "AMD64" This PC is 64bit OS >> %x_FILE_001_x%
echo ▲▼▲▼▲▼ >> %x_FILE_001_x%
echo . >> %x_FILE_001_x%
echo [OS_BIT] %PROCESSOR_ARCHITECTURE% >> %x_FILE_001_x%
::━━━━━━━━━━━━
wmic useraccount where LocalAccount=TRUE > %x_FILE_002_x%
::━━━━━━━━━━━━
::wmic group where LocalAccount=TRUE > %x_FILE_003_x%
net localgroup > %x_FILE_003_x%
::━━━━━━━━━━━━
wmic qfe > %x_FILE_004_x%
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %x_FILE_005_x%
echo IPアドレス情報取得 >> %x_FILE_005_x%
echo ▲▼▲▼▲▼ >> %x_FILE_005_x%
echo . >> %x_FILE_005_x%
ipconfig /all >> %x_FILE_005_x%
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %x_FILE_006_x%
echo FW情報取得 >> %x_FILE_006_x%
echo ▲▼▲▼▲▼ >> %x_FILE_006_x%
echo . >> %x_FILE_006_x%
netsh advfirewall firewall show rule name=all verbose >> %x_FILE_006_x%
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %x_FILE_007_x%
echo systeminfo >> %x_FILE_007_x%
echo ▲▼▲▼▲▼ >> %x_FILE_007_x%
echo . >> %x_FILE_007_x%
systeminfo >> %x_FILE_007_x%
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼ > %SOFT_FILE%
echo -----------------------------------------
echo ソフト一覧取得 >> %SOFT_FILE%
echo ▲▼▲▼▲▼ >> %SOFT_FILE%
echo . >> %SOFT_FILE%
if %OS_BIT% == x86 (
 powershell "Get-ChildItem -Path('HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall','HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall') | %% { Get-ItemProperty $_.PsPath | Select-Object DisplayName, DisplayVersion, Publisher } | Sort-Object -Property Displayname | Export-Csv -Path $env:TMP_FILE -Encoding Default"
 if ERRORLEVEL 1 CALL :ERRMSG インストール一覧作成に失敗しました
 findstr /V "^,,$" %TMP_FILE% >> %SOFT_FILE%
 del /F /Q %TMP_FILE%
) else if %OS_BIT% == AMD64 (
 powershell "Get-ChildItem -Path('HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall','HKLM:SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall','HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall') | %% { Get-ItemProperty $_.PsPath | Select-Object DisplayName, DisplayVersion, Publisher } | Sort-Object -Property Displayname | Export-Csv -Path $env:TMP_FILE -Encoding Default"
 if ERRORLEVEL 1 CALL :ERRMSG インストール一覧作成に失敗しました
 findstr /V "^,,$" %TMP_FILE% >> %SOFT_FILE%
 del /F /Q %TMP_FILE%
) else (
 CALL :ERRMSG OSのビット判定が不明のため処理をスキップします
)
::━━━━━━━━━━━━
echo ▲▼▲▼▲▼
echo %xxx% の情報取得 ⇒ zip圧縮
echo 出力先: %x_FILE_ZIP_x%
echo ▲▼▲▼▲▼
pause
powershell "Compress-Archive -path %xxx%_* -DestinationPath $env:x_FILE_ZIP_x -Force"
if ERRORLEVEL 1 (
 CALL :ERRMSG ZIPファイルの作成に失敗しました
 goto ERREND
)
::━━━━━━━━━━━━
:: ★ファイル削除
del /F /Q %xxx%_*.txt
del /F /Q %xxx%_*.csv
::━━━━━━━━━━━━
:: ★正常終了
echo.
endlocal
exit /B 0
::━━━━━━━━━━━━
:: ★エラー処理
:ERRMSG
echo.
echo ERROR: %1
echo.
pause
exit /B 1

:ERREND
echo.
endlocal
exit /B 1
PR

【BAT】複数ファイル一括コピーのスクリプト

【使い方】
 例えば、C:\TESTフォルダを作って以下のファイルを作成する
  [File_Copy_01.bat]  ⇒ダブルクリックで実行(※スクリプトは下記参照)
  [Dir_LIST_01.txt]   ⇒コピー先フォルダ記入
  [exclude.txt]     ⇒コピー除外ファイル記入
  [コピー元のファイル]  ⇒例えば、拡張子「.txt」全てが対象の場合

File_Copy_01.bat」 ← バッチファイル名

@echo off
:---------------------------------------------------
:【0】変数セット
:---------------------------------------------------
:+++ echo %~dp0
set Path_01=%~dp0
set File_01=Dir_LIST_01.txt
set Ful_Path_01=%PATH_01%%File_01%
set PATH_02=%PATH_01%linux\
:+++ set File_02=Dir_LIST_02.txt
:+++ set Ful_Path_02=%PATH_01%%File_02%
set PATH_03=%PATH_01%win\
:+++ set File_03=Dir_LIST_03.txt
:+++ set Ful_Path_03=%PATH_01%%File_03%
:+++ echo %Ful_Path_01%
:+++ Dir /s /b /a:d .\Dir_TEST >.\Dir_LIST_01.txt
:---------------------------------------------------
:【1】開始(ループ処理)
:---------------------------------------------------
for /f %%a in (%Ful_Path_01%) do @call :F_01 %%a
:---------------------------------------------------
:【3】終了(メッセージ出力)
:---------------------------------------------------
echo .
echo ***END***
echo .
:+++ DEL /q /f .\Dir_LIST_01.txt
pause
:---------------------------------------------------
:【2】関数(ファイルコピー)
:---------------------------------------------------
:F_01
set ZzZ=%1
@echo on
XCOPY %Path_01%*.txt %ZzZ%\ /Y /EXCLUDE:C:\TEST\exclude.txt
XCOPY %Path_02%*.txt %ZzZ%\ /Y /EXCLUDE:C:\TEST\exclude.txt
XCOPY %Path_03%*.txt %ZzZ%\ /Y /EXCLUDE:C:\TEST\exclude.txt
@echo off

【BAT】空フォルダの作成バッチ

◆テキストに書いてあるパスをフォルダ作成

[フォルダ作成.bat] ←ファイル名
 for /f %%a in (%1) do md %%a

【使い方】
 このバッチに、テキストをドラッグ

※スペースを含む文字がある場合は以下のようにする

 for /f "delims=" %%a in (%1) do md "%%a"

更新日付

05 2025/06 07
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

RECOMMEND

プロフィール

HN:
Account
HP:
性別:
非公開
職業:
--- NODATA ---
趣味:
--- NODATA ---
自己紹介:
◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

リンク

<<前のページ  | HOME | 
Copyright ©  -- LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例 --  All Rights Reserved
Design by CriCri / Photo by Melonenmann / powered by NINJA TOOLS / 忍者ブログ / [PR]