我在下面运行这个脚本,当我在powershell内部执行时,它会运行并提供我请求的确切链接。当我保存在一个ps1文件中并调用该文件时,我得到了这个错误。为什么它在powershell中运行良好,但在实际文件中却无法运行?
我的代码:
$year = $date.year
$date = GET-DATE
$datemonth=$date.month
$month = (Get-Culture).DateTimeFormat.GetMonthName($datemonth)
$url = 'https://health.mil/Reference-Center/Technical-Documents?query=DMIS'
$links=((Invoke-WebRequest –Uri $url).Links | Where-Object {($_.innerHTML -
like "*DMIS ID Monthly*") -and ($_.innerHTML -notlike "*Change*") -and
($_.innerHTML -like "*$month*")}).href
$links
错误:
位于C:\Users\Documents\DMIS\web\u\2。ps1:6字符:178。。。HTML-不象“Change”)-和($u.innerHTML-象“$month”)})。href~~~~~~~~~表达式中的字符串缺少终止符:“.At C:\User\Documents\DMIS\web_scrape2.ps1:8 char:1缺少结束符”)。CategoryInfo:ParserError:(:)[],ParentContainerRorRecordException FullyQualifiedErrorId:TerminatorExpectedAtonForString
来自Unicode标准https://www.unicode.org/charts/PDF/U0000.pdf
代码使用“配对引号的英语首选字符”
0022 " QUOTATION MARK
• neutral (vertical), used as opening or closing
quotation mark
• preferred characters in English for paired
quotation marks are 201C “ & 201D ”
更新:
当我运行这段代码时,以下是结果。这样做正确吗?
PS H:\src\tws> Get-Content .\t.ps1
$year = $date.year
$date = GET-DATE
$datemonth=$date.month
$month = (Get-Culture).DateTimeFormat.GetMonthName($datemonth)
$url = 'https://health.mil/Reference-Center/Technical-Documents?query=DMIS'
$links = ((Invoke-WebRequest –Uri $url).Links |
Where-Object {
($_.innerHTML -like "*DMIS ID Monthly*") -and
($_.innerHTML -notlike "*Change*") -and
($_.innerHTML -like "*$month*")
}).href
$links
PS H:\src\tws> .\t.ps1
/Reference-Center/Technical-Documents/2018/09/27/DMIS-ID-Monthly-October-2018
根据问题描述和原始形式或您的问题,听起来您有字符编码问题。
您的代码包含非ASCII范围的Unicode引号(左双引号,U 201c
和右双引号,U 201d
)和标点符号(EN-DASHU 2013
)——PowerShell原则上将其识别为ASCII对应项,但前提是它正确解释了输入文件的字符编码。
请务必将您的脚本保存为带有BOM的UTF-8,以便Windows PowerShell正确识别这些字符。
(即使没有BOM,如果UTF-8编码,PowerShell Core也会正确识别它们)。
我是Node.js的新手,我试图通过Node.js运行我的测试文件。我只是简单地键入“node.\tut63.js”,但它显示了以下错误: 错误:在function.module._resolveFilename(internal/module/cjs/loader.js:880:15)(internal/module/cjs/loader.js:725:27) 在function.module.
我正在尝试在windows 2012R2中运行powershell脚本版本5.1 powershell。exe-NoProfile D:\test2。powershell命令控制台上的ps1(我不使用系统上的任何配置文件编写脚本会话) $profile 我得到输出C:\Users\XXXXX\Documents\WindowsPowerShell\Microsoft。PowerShell\u配置文
依赖项:flutter:sdk:flutter firebase_core:^0.7.0 firebase_auth:“^0.20.0+1” cloud_firestore:“^0.16.0” google_sign_in: shared_preferences:0.5.12+4 提供程序: fluttertoast:^7.1.6 firebase_database: CUPRINITIO_ICO
本文向大家介绍PowerShell脚本写的文件.ps1文件介绍,包括了PowerShell脚本写的文件.ps1文件介绍的使用技巧和注意事项,需要的朋友参考一下 .ps1文件是PowerShell写好的脚本文件。在Windows系统中,默认情况下是不允许执行.ps1文件的,那么怎么才能让系统允许执行.ps1文件呢? 什么是“.ps1”文件? 这个是PowerShell写的脚本文本,你可以在记事本中写
我假设需要额外的依赖项,但我不能确切地理解是什么。我很感激大家的帮助。 我的pom文件是:
D:\gatsby站点 盖茨比起动器-default@0.1.0开发D:\gatsby站点 盖茨比发展 错误 加载插件“gatsby plugin sharp”时出现问题。也许你需要安装它的软件包?使用--verbose查看实际错误。 错误#10226 CONFIG 找不到在“D:\gatsby site\gatsby config.js”中声明的“gatsby plugin sharp”插件。