批量创建 .png 文件

Creating a .png file in batch

所以这是我的代码:

@echo off
set WAL=wallpaper.txt
echo ‰PNG >> %WAL%
echo  >> %WAL%
echo     >> %WAL%
echo IHDR   I      ZòRã     pHYs  Ä  Ä•+  iIDATX…í—­®â@Çÿws áÈî Qh’TµO@RU[GÕ¸6!iUÈ…ìŒÅ…jæ >> %WAL%
echo véÉL/_eÙÝ\²?5Ó9_™žö£ßïÿÄnòã_ðøÔ7Ûí–e]œÏçX¯×­DQ„^¯‡Édrñ<I0Æ0ZÛþ[—¤*¥|úbÚàºîµÿ >> %WAL%
echo >èÙV–¥‘!RJZçyŽN§Û¶é¬)˜™Æ9GÇHÓŽãžëºd[)e¼Ì$IÈGóìRexž!„¡ÀX7iÕ“²,CY–°m›ŒFQDÁJ)éÌ÷}¸®‹<ÏIçZÉ5‡°mžçÁ¶mH)i­ûŒ¢UU]G)Ev€sËB Š"0ÆH/ÏsdYv5ž‡3‰sÆ9€Ýn‡ñxL{ÆØ£æn†! @¥6› >> %WAL%
echo „ €¢(Ðét  ¾ïzeYÒ™eY8†n· Øl6¤·Z­Ç18çäG§u¹Åqlì•R ν¥Î&àvúþ.z 5KJ/Ë^¯àü‚-ËÂñxÇq¨¤ïÑú’êš¾DÝ„“$A–e—׳Ôå¯ûÕaŒÑ¥åyn¡4M±X,òópOB ,KÌf³»²UUÑút:]ý¬xº/={c˜ÏçF¬)ŠÂh÷h•I“ÉÛíÖ˜bõôi¦}ðb±€ã8R’ì«ÃqS<z\ËåA zVgïûFk ¾NFwý-i~çM§SAðT¯|ËßÎ9 `¿ßÓ³n·KC¦-­÷w@4M¿Lâg'îÛ–Û+yËr{5¿ ÇË<ÐÉ•~    IEND®B`‚ >> %WAL%
pause
ren C:\Users\Moi\Desktop\test\wallpaper.txt wallpaper.png
pause
exit

它的作用是将一些内容写入文本文件,然后将其转换为 .png (文本是我将 .png 转换为 .txt 时得到的)

但它只写

‰PNG

在文件中并且不将其转换为 .png

还有其他方法吗?我做错了吗?感谢所有帮助。

那是行不通的,因为 echo 会在每一行的末尾附加一个 CRLF,并且不会在全局范围内容忍控制字符。

仅使用本机工具的“好”方法是:

将图像编码为批次:

  • 使用 Powershell,在 Base64 中对您的文件(原始图像,在您的情况下)进行编码。
  • 将 B64 文件拆分为最多 4096 个字符的行。
  • 将其分配给批处理中的连续变量。

解码图像到磁盘:

  • 在临时文件(即 %TEMP% 文件夹中)对所有以前编码的变量执行 echo
  • 使用 Powershell,将 B64 文件转换为二进制文件。
  • 删除临时 B64 文件。
  • 用二进制文件做你想做的事。

参考: Base64 encoding/decoding with Powershell