所以基本上我有一个本地.jpg文件,我可以通过执行以下操作成功地从PowerShell中提取字符串并输出到PowerShell:
(Get-Content file.jpg)[4]
打印第四行代码。问题是我想在网站服务器托管后从.jpg中拉出相同的一行。
我已经尝试了所有我能想到的东西,但是当它坐在网络服务器上时,我似乎无法从.jpg中提取特定数据。
我认为这样可行,但仍然没有运气:
$JPG=$web.DownloadString("http://boeprox.files.wordpress.com/2011/02/capture_thumb1.jpg")
(Get-Content $JPG)[4]
在任何人明智并建议在本地保存文件并执行不是一个选项之前,文件需要保留在远程服务器而不是触摸磁盘。
非常感谢任何帮助。
答案 0 :(得分:0)
您可能遇到编码问题,但问题的根源是Get-Content
返回字符串数组。 DownloadString
只返回一个字符串。
知道我将返回转换为字符串数组
($web.DownloadString("http://boeprox.files.wordpress.com/2011/02/capture_thumb1.jpg") -split "`r")
我最初使用"`r`n"
进行拆分,但它无效。所以现在我能够像你一样获得第5行
($web.DownloadString("http://boeprox.files.wordpress.com/2011/02/capture_thumb1.jpg") -split "`r")[4]
然而它看起来就像这样。
ÊÃ#Œ©|•ð×ÇÚ‡ü#¥i’üCºðÝíåôÓ˜ô(õ0͹bº€§ärcóÎÜŒ×øƒã]Ô|'5§ÄST]7QºšîfÓRÍí„—†
Cq UÈ.„7—ólpqزsò¶í¯OøüDóYZö_yö|fð‹Yɨ'Å›´‰¶Ip5g1#qÁ|à™x'ø‡¨§éÿ üªLm´Ï‹6
“2íõW•‚…$àw=+ä¿…¿ ðþâ‹+Ï:Ÿ†ôýOUi%°‡FP“QY´¶üa—j‚~R7rH®,|dø´úÝ·Šn~Î,Õã
µŠ8ÌjAVò‚ív7nä’iLJ£)8©mývÍœRm_y÷Tß|hOÚþ/i°âW€ùš³.%B¡ÉûÊHÈê23SÙügðmõÌVV_ìn
.&RÑC¦ï$€rª9# œŽÀ×ò|~ø˜ÂVR°Šk«ƒww2iñº›td;î<˜Çʹ9'5€¿¼`ºÞ›â?íEmCI´66r½¼l
܇YR0À rÕk†Õµ—åþD¼âÛ#ïؾ<|<·—ñ“H}ªY¶êäí©8<RÚüvøyu4vÖ¿´™æ•‚GZ³;»@9'ØWÂ7
_¾!\Á
答案 1 :(得分:0)
这会得到您正在寻找的东西吗?老实说,除了文本文件之外,我从来没有听说过使用Get-Content,但是你每天都学到新东西:)
(Invoke-WebRequest -Uri 'http://boeprox.files.wordpress.com/2011/02/capture_thumb1.jpg').Content[4]
答案 2 :(得分:0)
您可以使用SysInternals strings实用程序从二进制文件中提取字符串,例如
(strings -q ..\Pictures\foo.png)[3]
BTW有什么理由不能将它存储到临时文件中吗?问题是你没有写权限吗?