我在 Windows 上使用 cygwin 工具的一个端口,它将正常状态消息写入 STRERR。从 PowerShell 运行时,这会产生丑陋的输出:
PS> dos2unix.exe -n StartApp.sh StartApp_fixed.sh
dos2unix.exe : dos2unix: converting file StartApp.sh to file StartApp_fixed.sh in UNIX format ...
At line:1 char:13
+ dos2unix.exe <<<< -n StartApp.sh StartApp_fixed.sh
+ CategoryInfo : NotSpecified: (dos2unix: conve...UNIX format ...:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
PS 我打算发布我找到的一个解决方案,并将其与其他人的答案进行比较。
http://msdn.microsoft.com/en-us/library/ff637750.aspx声明
Windows PowerShell 2.0 只需要安装在 Windows Server 2008 和 Windows Vista 上。它已安装在 Windows Server 2008 R2 和 Windows 7 上。
但是,powershell.exe 位于 %SystemRoot%\system32\WindowsPowerShell\ v1.0 \powershell.exe。这似乎不是 PowerShell 2.0。powershell.exe 的文件版本是 6.1.7600.16385,所以这也没什么帮助。
我如何确定我是否安装了 Window PowerShell 2.0,如果没有,Windows 7 的下载链接在哪里?
每当我以管理员身份运行 PowerShell 时,它都会从 C:\WINDOWS\system32\WindowsPowerShell\v1.0 开始。如何让它在我用户的主目录中启动?My$HOME具有预期值,即C:\Users\<account>。每当我在没有管理权限的情况下运行 PowerShell 时,它都会在 $HOME 中启动。
例如,我希望蓝色更亮一点,或者将红色更改为更偏橙色。这可能吗?
我知道我可以轻松更改背景和前景色。其他颜色呢?
在 Windows 下,使用 PowerShell,是否可以使文件名建议(使用Tab密钥)像 Linux 下的 bash 一样工作?
假设一个目录包含 3 个目录:example1,example和examination.
在 Windows 上(默认情况下),如果您键入cd ex和Tab,它将自动建议cd .\examination。的后续使用Tab将在example1、example和之间轮换建议examination。
使用 bash(通常在 Linux 下),如果您键入cd ex和Tab,它将自动完成,直到文件名开始不同的字符:cd exam. Tabthen 的另一种用法表明哪些目录可用:
$ cd exam
examination/ example1/ example2/
Run Code Online (Sandbox Code Playgroud)
然后,如果您键入pand Tab,它将自动完成为example,依此类推(此处提供example1和之间的选择example2)。
有没有办法让文件名建议在像这样的树状搜索中工作,而不是在名称中旋转?
(我主要对文件名感兴趣。Bash 还可以根据文件类型细化这个选择,例如只有目录 for cd,这会很好,但是选择文件名本身就足够了。)
如何使用 Windows 附带的本机工具将稀疏文件从一个 NTFS 卷复制或移动到另一个 NTFS 卷,同时保持稀疏性?如果使用本机工具无法做到这一点,那么来自可信赖供应商的免费应用程序是什么?当然,有一个命令提示符命令或 powershell 命令可以执行此操作。
我有一个代表 250GiB 的文件,它占用了 20GiB 的磁盘空间,我希望它在移动它时继续只占用 20GiB。谢谢。
PowerShell 中的PSReadLine具有语法着色,但如何指定颜色?
我已经编写了一个强大的 HP Warrant Lookup PowerShell 脚本。但是,我无法弄清楚如何在自动化过程中获取 HP 系统的产品编号。所以...
如何通过 PowerShell 获取 HP 产品编号(不是序列号)?尽管我只想使用内置的开箱即用的 Windows 和 PowerShell 命令,但我愿意接受其他想法。最终,最终目标是以最可靠、侵入性最小的方式(即安装第三个软件)检索产品编号。
故障排除
尝试:
Get-WmiObject Win32_ComputerSystem | Select-Object OEMStringArray
结果:
{ABS 70/71 79 7A 7B 7C, CMS v01.4A, HP_Mute_LED_0, www.hp.com}
......但期待找到 XT908UT#ABA
我正在尝试从 Excel 中的宏调用 PowerShell 脚本。
我已经看到了一些例子:
retval = Shell("powershell ""C:\MyTest.ps1""", 1)
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用它时:
Sub Connect_01()
Dim x
x = Shell(“powershell.exe ""\\corp\hdq\Path with spaces\PowerShell\Modules\macro01.ps1""", 1)
End Sub
Run Code Online (Sandbox Code Playgroud)
我收到一个编译器错误: Syntax error
如果我删除赋值,我会在第一对引号处收到错误:
Expected: list separator or )"
由于我对 VBA 没有太多经验,对 Shell() 命令也没有经验,因此将不胜感激。
打开powershell,可以给它管理员权限吗?
它嵌入在 IDE(Visual Studio Code)中,我不想在每次执行需要管理员权限的操作时打开一个新终端(例如 npm install ... --save-dev)
如果没有,我可以将 VS Code 设置为以管理员权限打开终端吗?
powershell ×10
windows ×3
windows-7 ×3
colors ×1
command-line ×1
ntfs ×1
sparsefile ×1
stderr ×1
vba ×1