批量创建 .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 文件。
- 用二进制文件做你想做的事。
所以这是我的代码:
@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 文件。
- 用二进制文件做你想做的事。