谁能告诉我如何编写批处理文件/ vbscript 以将当前日期和时间插入到 AssemblyInfo 文件中?
我有一个 AssemblyInfo 文件,我希望 AssemblyDescription 属性值是执行批处理文件的时间。
[AssemblyTitle="MyFile"]
[AssemblyDescription=""]
[AssemblyVersion="1.1.0"]
提前谢谢了!
谁能告诉我如何编写批处理文件/ vbscript 以将当前日期和时间插入到 AssemblyInfo 文件中?
我有一个 AssemblyInfo 文件,我希望 AssemblyDescription 属性值是执行批处理文件的时间。
[AssemblyTitle="MyFile"]
[AssemblyDescription=""]
[AssemblyVersion="1.1.0"]
提前谢谢了!
经典方式 :
@ECHO OFF &SETLOCAL
FOR /f %%a IN ('^<"file" find /c /v ""') DO SET "lines=%%a"
SETLOCAL ENABLEDELAYEDEXPANSION
<file (
FOR /l %%a IN (1,1,%lines%) DO (
SET "line="
SET /p "line="
IF "!line:AssemblyDescription=!" neq "!line!" (
SET "line=[AssemblyDescription="!date! !time!"]"
)
ECHO(!line!
))>newfile
ENDLOCAL
repl.bat
这使用从 - http://www.dostips.com/forum/viewtopic.php?f=3&t=3855调用的帮助程序批处理文件
输入文件是"AssemblyInfo"
并且它被新数据覆盖。
更改"c:\backup folder"
为您的文件位置。
@echo off
pushd "c:\backup folder"
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set "dt=%%a"
set "YYYY=%dt:~0,4%"
set "MM=%dt:~4,2%"
set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%"
set "Min=%dt:~10,2%"
set "Sec=%dt:~12,2%"
set datestamp=%YYYY%%MM%%DD%
set timestamp=%HH%%Min%%Sec%
set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
type "AssemblyInfo" |repl "^(.AssemblyDescription=).*" "$1\x22%fullstamp%\x22]" mx >"AssemblyInfo.tmp"
move "AssemblyInfo.tmp" "AssemblyInfo" >nul
popd
在 VBScript 中更容易做到这一点:
filename = "..."
Set fso = CreateObject("Scripting.FileSystemObject")
Set re = New RegExp
re.Pattern = "\[AssemblyDescription="".*?""\]"
re.IgnoreCase = True
txt = fso.OpenTextFile(filename).ReadAll
txt = re.Replace(txt, "[AssemblyDescription=""" & Now & """]")
fso.OpenTextFile(filename, 2).Write txt