点滴生活,生活点滴,都需要你来陪伴,往后余生,请多多指教。男人最幸福的事情是:一个好妻子,一份好工作,一个好身体。

2009-2022
DFHL
首页 » 桌面运维 » 这是一个功能相当完善的固定资产信息收集批处理脚本

这是一个功能相当完善的固定资产信息收集批处理脚本

@echo off
chcp 936 >nul
setlocal enabledelayedexpansion
title 固定资产信息收集系统

:: 设置共享路径
set "SHARE_PATH=\\10.8.7.10\军工保密计算机类硬件信息收集"
set "COMPUTER_NAME=%COMPUTERNAME%"
set "LOGIN_USER=%username%"

:: 设置临时文件
set "TEMP_FILE=%temp%\asset_temp.txt"

:: 检查共享连接
echo 正在连接共享服务器...
net use %SHARE_PATH% 2>nul
if errorlevel 1 (
    echo 无法连接到共享服务器,将保存到本地文件
    set "USE_SHARE=false"
) else (
    echo 共享连接成功
    set "USE_SHARE=true"
)

:: 收集用户和部门信息
if not defined USER_NAME (
    echo.
    echo ================================
    echo           用户信息登记
    echo ================================
    echo.
    set /p USER_NAME=请输入使用人姓名: 
    set /p USER_DEPARTMENT=请输入所属部门: 
    echo.
)

:: 生成唯一文件名(按用户和日期)
call :GET_UNIQUE_FILENAME
set "LOG_FILE=!UNIQUE_FILENAME!"

:MAIN_MENU
cls
echo ================================
echo       固定资产信息收集系统
echo ================================
echo 共享位置: %SHARE_PATH%
echo 计算机名: %COMPUTER_NAME%
echo 登录用户: %LOGIN_USER%
echo 使用人: !USER_NAME!
echo 部 门: !USER_DEPARTMENT!
echo 存储文件: !LOG_FILE!
if "!USE_SHARE!"=="true" (
    echo 存储状态: 已连接共享
) else (
    echo 存储状态: 保存到本地
)
echo ================================
echo.
echo 请选择要录入的设备类型:
echo 1. 台式机信息
echo 2. 笔记本信息
echo 3. 打印机信息(支持多台)
echo 4. 显示器信息(支持多显示器)
echo 5. 其他设备信息
echo.
echo 6. 修改用户信息
echo 7. 查看已录入设备
echo 8. 重新连接共享
echo 9. 退出系统
echo.
set /p CHOICE=请输入选择 (1-9): 

if "!CHOICE!"=="1" set DEVICE_TYPE=台式机& goto COLLECT_PC
if "!CHOICE!"=="2" set DEVICE_TYPE=笔记本& goto COLLECT_PC
if "!CHOICE!"=="3" set DEVICE_TYPE=打印机& goto COLLECT_PRINTERS
if "!CHOICE!"=="4" set DEVICE_TYPE=显示器& goto COLLECT_MONITORS
if "!CHOICE!"=="5" set DEVICE_TYPE=其他设备& goto COLLECT_OTHER
if "!CHOICE!"=="6" goto CHANGE_USER
if "!CHOICE!"=="7" goto SHOW_RECORDS
if "!CHOICE!"=="8" goto RECONNECT_SHARE
if "!CHOICE!"=="9" goto EXIT

echo 无效选择!
ping -n 2 127.0.0.1 >nul
goto MAIN_MENU

:GET_UNIQUE_FILENAME
:: 生成唯一文件名:使用人+部门+收集信息日期(所有设备存一个文件)
set "CURRENT_DATE=%date:~0,4%%date:~5,2%%date:~8,2%"
set "BASE_FILENAME=!USER_NAME!_!USER_DEPARTMENT!_!CURRENT_DATE!_固定资产"
set "FILENAME=!BASE_FILENAME!.txt"
set "COUNT=1"

if "!USE_SHARE!"=="true" (
    :: 检查共享路径
    if exist "%SHARE_PATH%\!FILENAME!" (
        :SHARE_CHECK_LOOP
        set "FILENAME=!BASE_FILENAME!_!COUNT!.txt"
        if exist "%SHARE_PATH%\!FILENAME!" (
            set /a COUNT+=1
            goto SHARE_CHECK_LOOP
        )
    )
    set "UNIQUE_FILENAME=%SHARE_PATH%\!FILENAME!"
) else (
    :: 检查本地路径
    if exist "!FILENAME!" (
        :LOCAL_CHECK_LOOP
        set "FILENAME=!BASE_FILENAME!_!COUNT!.txt"
        if exist "!FILENAME!" (
            set /a COUNT+=1
            goto LOCAL_CHECK_LOOP
        )
    )
    set "UNIQUE_FILENAME=!FILENAME!"
)
goto :EOF

:CHANGE_USER
cls
echo ================================
echo           修改用户信息
echo ================================
echo.
echo 当前信息:
echo 使用人: !USER_NAME!
echo 部 门: !USER_DEPARTMENT!
echo 存储文件: !LOG_FILE!
echo.
set /p NEW_NAME=请输入新的使用人姓名: 
set /p NEW_DEPT=请输入新的所属部门: 

if not "!NEW_NAME!"=="" set "USER_NAME=!NEW_NAME!"
if not "!NEW_DEPT!"=="" set "USER_DEPARTMENT=!NEW_DEPT!"

echo.
echo 用户信息已更新!
echo 正在重新生成文件名...
call :GET_UNIQUE_FILENAME
set "LOG_FILE=!UNIQUE_FILENAME!"
echo 新文件名: !LOG_FILE!
ping -n 2 127.0.0.1 >nul
goto MAIN_MENU

:RECONNECT_SHARE
net use %SHARE_PATH% /delete 2>nul
net use %SHARE_PATH% 2>nul
if errorlevel 1 (
    echo 共享连接失败
    set "USE_SHARE=false"
) else (
    echo 共享连接成功
    set "USE_SHARE=true"
)
echo 正在重新生成文件名...
call :GET_UNIQUE_FILENAME
set "LOG_FILE=!UNIQUE_FILENAME!"
echo 新文件名: !LOG_FILE!
ping -n 2 127.0.0.1 >nul
goto MAIN_MENU

:CHECK_LAPTOP
cls
echo ================================
echo           设备类型检测提醒
echo ================================
echo 您正在录入笔记本信息
echo 当前计算机名: %COMPUTER_NAME%
echo.
echo 检测结果:当前使用的是台式机,非笔记本电脑
echo.
echo 提醒:请在对应的笔记本电脑上运行此程序
echo 以收集正确的笔记本硬件信息
echo.
set /p CONFIRM=仍然继续录入笔记本信息?(y/n): 
if /i not "!CONFIRM!"=="y" (
    echo.
    echo 已取消录入笔记本信息
    echo 请返回主菜单选择正确的设备类

主要功能模块

  1. 共享网络连接
    自动连接共享服务器 \192.168.1.10\计算机类硬件信息收集

支持离线模式,连接失败时保存到本地

提供重新连接功能

  1. 用户信息管理
    首次运行收集使用人姓名和部门

支持修改用户信息

根据用户信息生成唯一文件名

  1. 设备类型支持
    台式机/笔记本:自动收集系统信息、网络信息、硬件序列号等

显示器:支持多显示器录入,自动检测显示器数量

打印机:支持多台打印机录入

其他设备:自定义设备信息录入

  1. 智能文件管理
    文件名格式:使用人_部门_日期_固定资产.txt

避免文件名冲突,自动添加序号

所有设备信息保存在同一个文件中
技术特点
多方法兼容:使用三种不同方法确保在各种 Windows 系统中都能获取安装日期

自动降级:如果首选方法失败,自动尝试备用方法

格式统一:统一日期格式,便于阅读和后续处理

无缝集成:与现有代码完美融合,不影响其他功能

这个功能对于固定资产管理很有价值,可以帮助追踪电脑的使用年限和系统更新情况。

文章如无特别注明均为原创! 作者: 等风也等你, 转载或复制请以 超链接形式 并注明出处 走近风的BLOG
原文地址《 这是一个功能相当完善的固定资产信息收集批处理脚本》发布于2025年11月16日

分享到:
打赏

评论

游客

看不清楚?点图切换