使用命令提示符(或批处理文件)设置字体类型和大小

时间:2017-03-22 19:14:32

标签: powershell

我尝试了从Specify the size of command prompt when executing a batch file

给出的解决方案

我跑了:

powershell -command "&{set-executionpolicy remotesigned; Import-Module SetConsoleFont; Get-ConsoleFontInfo | Format-Table -AutoSize}"

但我得到这些错误,有什么想法吗?

  

Set-ExecutionPolicy:访问注册表项' HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShell'被拒绝。在第1行:char:22 +& {set-executionpolicy<<<<下RemoteSigned; Import-Module SetConsoleFont; Get-ConsoleFontInfo | Format-Table -AutoSize} + CategoryInfo:NotSpecified :( :) [Set-ExecutionPolicy],UnauthorizedAccessException + FullyQualifiedErrorId:System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand

     

Import-Module:指定的模块' SetConsoleFont'未加载,因为在任何模块目录中找不到有效的模块文件。在行:1 char:50 +& {set-executionpolicy remotesigned; Import-Module<<<< SetConsoleFont; Get-ConsoleFontInfo | Format-Table -AutoSize} + CategoryInfo:ResourceUnavailable:(SetConsoleFont:String)[Import-Module],FileNotFoundException + FullyQualifiedErrorId:Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

     

术语' Get-ConsoleFontInfo'不被识别为cmdlet,函数,脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。在行:1 char:86 +& {set-executionpolicy remotesigned; Import-Module SetConsoleFont; Get-ConsoleFontInfo<<<< | Format-Table -AutoSize} + CategoryInfo:ObjectNotFound:(Get-ConsoleFontInfo:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException

我已将文件SetConsoleFont.psm1放入

C:\用户\阿德里安\文件\ WindowsPowerShell \模块\ SetConsoleFont

你说"你不允许设置执行政策"好吧也许我不是,但这是我的机器所以为什么我不应该?我不想以管理员身份执行这些命令,就像用户一样,我(Adrian)

另一个评论是尝试" set-executionpolicy bypass process"

所以我试过了: C:\ Users \ Adrian \ Documents \ WindowsPowerShell \ Modules \ SetConsoleFont> powershell -command"& {set-executionpolicy bypass process; set-executionpolicy remotesigned; Import-Module SetConsoleFont; Get-ConsoleFontInfo | Format-Table -AutoSize}"

但是出现了更多的红色错误

我不知道powershell是什么或如何使用它,我只是想从批处理文件中更改字体而不会有麻烦!

3 个答案:

答案 0 :(得分:0)

请尝试set-executionpolicy bypass process

还要确保已将模块放在模块路径文件夹中,例如:

[yourprofile] \文件\ WindowsPowershell \模块

答案 1 :(得分:0)

我设法让它工作但只在PowerShell控制台中运行,我必须以管理员身份运行它。然而,由于以下原因,这对我来说不实用:

我希望从批处理文件中无缝更改新窗口的字体,批处理文件将由软件用户运行。他们可能没有管理员访问权限,因此无法执行“set-executionpolicy remotesigned”,我需要这样做才能使其正常工作。

此外,这必须在DOS批处理文件中完成,因此不能打开PowerShell窗口。它仅适用于PowerShell窗口,而不适用于DOS“powershell -command”选项。

这是一个部分答案。

答案 2 :(得分:0)

如果您想更改执行政策,则应在提升的提示下完成。

加载模块可以通过给出绝对路径来完成。示例如下。

Import-Module c:\users\testuser\desktop\SetConsoleFont.psm1 -Verbose

我们可以绕过下面的执行政策。

powershell.exe -executionpolicy bypass -command "${<your code>}"

编辑:导入的模块仅在脚本块的范围内可用。

这里是{}。因此,无论模块中的cmdlet和函数如何,都应该在脚本块中执行。

此致

Kvprasoon