Board logo

标题: [文本处理] 请帮忙批处理获取系统安装日期 [打印本页]

作者: 2275385864    时间: 2023-12-25 20:27     标题: 请帮忙批处理获取系统安装日期

因某些原因需要更改计算机名为系统安装日期
使用systeminfo ^| findstr "系统启动时间 提取的比如以下
初始安装日期:     2022-11-18, 22:23:24
现在想要只要获取 221118222324 前面的20不要,或者没法去掉的话 20221118222324 也勉强可以
不知道有办法吗
  1. set pcname=
  2. Reg add "HKCU\Software\Microsoft\Windows\ShellNoRoam" /ve /t REG_SZ /d "%pcname%" /f
  3. Reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%pcname%" /f
  4. Reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName" /t REG_SZ /d "%pcname%" /f
  5. Reg add "HKLM\SYSTEM\CurrentControlSet\Services\Eventlog" /v "ComputerName" /t REG_SZ /d "%pcname%" /f
  6. Reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%pcname%" /f
  7. Reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d "%pcname%" /f
  8. Reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t REG_SZ /d "%pcname%" /f
  9. Reg add "HKU\.DEFAULT\Software\Microsoft\Windows\ShellNoRoam" /ve /t REG_SZ /d "%pcname%" /f
复制代码

作者: ShowCode    时间: 2023-12-25 21:26

回复 1# 2275385864
  1. @echo off
  2. for /f "tokens=2,3" %%a in ('systeminfo ^| findstr /i "系统启动时间"') do (
  3.     set "MyStr=%%a%%b"
  4. )
  5. set "MyStr=%MyStr:-=%"
  6. set "MyStr=%MyStr:,=%"
  7. set "MyStr=%MyStr::=%"
  8. set "MyStr=%MyStr:/=%"
  9. echo %MyStr%
  10. pause
复制代码

作者: 2275385864    时间: 2023-12-25 22:28

回复  2275385864
ShowCode 发表于 2023-12-25 21:26



    感谢,我现在没电脑,明天试一下,谢谢你
作者: holley    时间: 2023-12-26 15:23

本帖最后由 holley 于 2023-12-26 16:00 编辑

回复 1# 2275385864

你这个获取到的不是安装日期嘛??只是最近一次的启动时间嘛。
  1. @echo off
  2. for /f "skip=1 tokens=*" %%a in ('wmic OS GET InstallDate') do (
  3.     set InstallDate=%%a
  4.     goto :next
  5. )
  6. :next
  7. set InstallDate=%InstallDate:~2,12%
  8. echo %InstallDate%
  9. pause
复制代码
改成systeminfo试了一下:
  1. @echo off
  2. for /f "tokens=2,3* delims=:" %%a in ('systeminfo ^| findstr /c:"初始安装日期"') do set "InstallDateTime=%%a%%b%%c"
  3. set "InstallDateTime=%InstallDateTime: =%"
  4. set "InstallDateTime=%InstallDateTime:/=%"
  5. set "InstallDateTime=%InstallDateTime:,=%"
  6. set "InstallDateTime=%InstallDateTime:~2,13%"
  7. echo %InstallDateTime%
  8. pause
复制代码

作者: 2275385864    时间: 2023-12-27 18:59

回复 2# ShowCode

可以用,谢谢你了
作者: 2275385864    时间: 2023-12-27 19:01

回复  2275385864

你这个获取到的不是安装日期嘛??只是最近一次的启动时间嘛。改成systeminfo试了一下 ...
holley 发表于 2023-12-26 15:23


是的是的,发帖没注意写错了,想着跟安装时间一样的就没改了
感谢,2023只显示23,是我需要的




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2