我已经下载了CPDF,因为我必须批量处理大量PDF文件。
可执行文件在我的桌面上:C:\Users\admin\Desktop\cpdf.exe
我在Windows 7上以管理员身份运行PowerShell ISE。我已经设置了Set-ExecutionPolicy Unrestricted
。
我的提示是在桌面位置:PS C:\Users\ftsadmin\Desktop>
,但是如果我尝试运行cpdf:PS C:\Users\ftsadmin\Desktop> cpdf
或作为PS C:\Users\ftsadmin\Desktop> cpdf.exe
,则会出现以下错误:
术语“cpdf.exe”未被识别为cmdlet,函数,脚本的名称
文件或可运行程序。检查名称的拼写,或者路径是否为
(包括),确认路径正确,然后重试。
在第1行:9个字符
+ cpdf.exe <<<<
+ CategoryInfo:ObjectNotFound:(cpdf.exe:String)[],CommandNotFoundException
+ FullyQualifiedErrorId:CommandNotFoundException
我不明白当我在Windows XP VM中执行完全相同的操作时,它可以工作(但是由于PowerShell ISE,我更喜欢Windows 7+)。
有什么想法我想念的吗?
最佳答案
与CMD不同,PowerShell不会自动在搜索路径中包括当前目录(就此而言,它的行为类似于Unix shell)。要从当前目录运行程序或脚本,您需要使用相对或绝对路径:
.\cpdf.exe
C:\Users\ftsadmin\Desktop\cpdf.exe
执行策略与此无关,因为它仅控制PowerShell脚本的执行,而不控制外部命令的执行。