Powershell - 从远程JPG特定行获取内容

时间:2014-10-23 13:44:40

标签: windows powershell system-administration

所以基本上我有一个本地.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] 

在任何人明智并建议在本地保存文件并执行不是一个选项之前,文件需要保留在远程服务器而不是触摸磁盘。

非常感谢任何帮助。

3 个答案:

答案 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有什么理由不能将它存储到临时文件中吗?问题是你没有写权限吗?