Board logo

标题: [问题求助] [已解决]怎样用PowerShell在文本尾添加时间戳 [打印本页]

作者: smss    时间: 2019-6-13 11:02     标题: [已解决]怎样用PowerShell在文本尾添加时间戳

  1. @echo off
  2. cd /d "%~dp0"
  3. PowerShell "$str=[IO.File]::ReadAllText('manifest.xml', [Text.Encoding]::Default) -replace '(?m)^\s+|\s*(?:\n|$)' -replace '<!--(?:(?!-->).)*-->';[IO.File]::WriteAllText('1.xml', $str, [Text.Encoding]::UTF8)"
  4. rem UTF-8 编码支持
  5. chcp 65001
  6. set "d=%date:~0,20%"
  7. set "d=%d:/0=-%"
  8. set "d=%d:-0=-%"
  9. echo;%d%
  10. echo ^<!--smss于%d:~3,10%%d:~0,2%%time%制作--^>>>1.xml
  11. setlocal enabledelayedexpansion
  12. set k=*.jpg *.webp *.png
  13. for /f "delims=" %%i in ('dir /b /a-d /s %cd%\%k%') do (set "file=%%~nxi"
  14. if "!file:~-6!" neq ".9.png" (ren "%%i" "%%~ni")
  15. )
复制代码
1怎样把echo ^<!--smss于%d:~3,10%%d:~0,2%%time%制作--^>>>1.xml 用PowerShell写
(用BAT就必须保存为UTF-8 而后面如果出现文字时 如echo 打包完毕! 又不能正常显示和执行 不用UTF-8又会乱码)
2用PowerShell把manifest.xml中的.png'删除(注意有个单引号) 在PS中用什么转义-replace '.png''不行-replace '.png'就可以

暂时这样解决的 不知道有没有更好的
  1. rem UTF-8 编码支持
  2. chcp 65001
  3. set "d=%date:~0,20%"
  4. set "d=%d:/0=-%"
  5. set "d=%d:-0=-%"
  6. echo;%d%
  7. echo ^<!--smss于%d:~3,10%%d:~0,2%%time%制作--^>>>1.xml
复制代码
保存为UTF-8格式的1.bat
在ANSI格式的主脚本中call 1.bat 可以规避乱码 其它脚本也能执行
作者: 523066680    时间: 2019-6-13 11:21

标题负分
作者: smss    时间: 2019-6-13 11:36

回复 2# 523066680 感谢提醒




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