- @echo off
- cd /d "%~dp0"
- 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)"
- rem UTF-8 编码支持
- chcp 65001
- set "d=%date:~0,20%"
- set "d=%d:/0=-%"
- set "d=%d:-0=-%"
- echo;%d%
- echo ^<!--smss于%d:~3,10%%d:~0,2%%time%制作--^>>>1.xml
-
- setlocal enabledelayedexpansion
- set k=*.jpg *.webp *.png
- for /f "delims=" %%i in ('dir /b /a-d /s %cd%\%k%') do (set "file=%%~nxi"
- if "!file:~-6!" neq ".9.png" (ren "%%i" "%%~ni")
- )
复制代码 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'就可以
暂时这样解决的 不知道有没有更好的
把- rem UTF-8 编码支持
- chcp 65001
- set "d=%date:~0,20%"
- set "d=%d:/0=-%"
- set "d=%d:-0=-%"
- echo;%d%
- echo ^<!--smss于%d:~3,10%%d:~0,2%%time%制作--^>>>1.xml
复制代码 保存为UTF-8格式的1.bat
在ANSI格式的主脚本中call 1.bat 可以规避乱码 其它脚本也能执行 |