标签: powershell

如何在 Powershell 中重新映射快捷方式

我想重新映射powershell中的快捷方式,例如,我想使用Ctrl+a使光标位于行首,Ctrl+e使光标位于行尾,等等。

我在Google上查了很久这个方法,但好像没有人这样做过。任何人都可以帮忙吗?提前致谢。

keyboard-shortcuts powershell powershell-2.0

3
推荐指数
1
解决办法
2127
查看次数

通过管道传输 Get-ChildItem 的所有输出

我正在尝试使基本的 powershell 命令正常工作,但我在管道系统方面遇到了一些困难。

我使用 Fossil 作为我的版本控制系统,并制作了我的大部分程序结构。运行命令:

get-childitem -r | fossil add {$_.fullname}
Run Code Online (Sandbox Code Playgroud)

给我错误

not found: E:/workspace/project/-encodedCommand
not found: E:/workspace/project/JABfAC4AZgB1AGwAbABuAGEAbQBlAA==
not found: E:/workspace/project/-inputFormat
not found: E:/workspace/project/xml
not found: E:/workspace/project/-outputFormat
not found: E:/workspace/project/text
Run Code Online (Sandbox Code Playgroud)

powershell

3
推荐指数
1
解决办法
2万
查看次数

用于在特定目录中启动powershell的批处理文件

我正在通过《Learn python the Hard way》一书学习Python编程。因此我使用 powershell 来运行我的程序。由于每次启动 powershell 时都必须手动更改目录,因此我编写了一个批处理文件来自动化它。

我写的命令是:

powershell.exe -noexit -command "'cd c:\self\pooja\"edu n career"\programs\python'"
Run Code Online (Sandbox Code Playgroud)

问题是它运行但仅打开“程序”目录。为什么它没有更改为 python 目录?

最后,我通过在 powershell 的快捷方式属性中设置“开始于”字段来完成此操作,但我想知道为什么批处理文件没有按预期工作。

windows powershell batch

3
推荐指数
1
解决办法
8978
查看次数

运行 @powershell 和 powershell(任何前面带 @ 的命令)有什么区别?

刚刚安装了Chocolatey,并且在安装说明中有 @powershell -NoProfile -ExecutionPolicy unrestricted......

我尝试@cls在我的控制台中运行,它也有效

在这个行业工作了这么多年之后,在这个领域发现新的东西真是太棒了。

有什么区别@呢?

powershell command-line

3
推荐指数
1
解决办法
1938
查看次数

使用 Powershell 删除文件名中的括号字符

我有一个大型文档库存储在 Sharepoint 服务器上,该文档库是从旧的 Access 数据库迁移过来的,这些文档的版本控制由用户控制,并在进行更改时附加在文件名末尾。

例如

  1. Doc1-测试(1.0).doc
  2. Doc1-测试(1.1).doc
  3. Doc2-示例(2.1).doc
  4. Doc2-示例(2.2).doc

我们现在使用 Sharepoint 来控制版本控制,并且需要删除文件名中的版本。

我通过以下脚本取得了一定的成功;

gi * | % { rni $_ ($_.Name -replace '(1.0)', '') }
Run Code Online (Sandbox Code Playgroud)

但我无法让它从文件名中删除括号。所以在我的测试目录中,文件更改为以下内容

Doc1-doc(1.0).doc ----- Doc1-doc().doc

数字范围从 1.0 到 4.5 左右,并且有超过 1200 个文档,因此我不介意为每个版本号使用单独的脚本。

powershell windows-server-2012

3
推荐指数
1
解决办法
1万
查看次数

如何在 Windows 10 上的 powershell 中缩小列的宽度?

我使用许多 cmdlet,默认在 4-5 列的表格中显示数据。其中一些数据经常大于默认列宽并被截断,但这没关系,因为每个值的开头是最有用的部分(例如,当尝试区分来自同一域的所有电子邮件地址时)。

随着升级到Windows 10,默认的列宽似乎有所增加。这给我留下了超宽的列,显示的字符比我严格需要的要多,但也有一个不幸的副作用,即最右边的列不会输出,因为它们被“推”出屏幕。

作为一个直观的例子,在 Windows 8 中我有这样的东西:

Column 1    Column 2      Column 3      Column 4
--------    --------      --------      --------
Data        Lorem ip...   Lorem ip...   Important data
Run Code Online (Sandbox Code Playgroud)

现在在 Windows 10 中我得到了这个:

Column 1    Column 2                                     Column 3
--------    --------                                     --------    
Data        Lorem ipsum dolor sit amet consectetur ad... Lorem ipsum dolor sit amet...
Run Code Online (Sandbox Code Playgroud)

其中中间列的宽度可以为 64 个字符,从而防止显示后面的列。简单地对列进行重新排序并没有帮助,因为我仍然需要至少所有列中的前几个字符。

有没有办法可以强制 format-table 或其他一些显示 cmdlet 在设定值(例如 20 个字符)后截断列?最好是我缺少某种控制数据显示方式的参数。

powershell windows-10

3
推荐指数
1
解决办法
4891
查看次数

Powershell Start-Process - 我可以让它保持窗口打开吗?

我正在使用启动进程启动 aerender.exe(Adobe After Effects 的命令行渲染器)的多个副本。该渲染器会产生大量的废话,可以方便地发现渲染问题。因此,我没有使用 -NonNewWindow,而是让它们全部在单独的窗口中运行。

问题是,如果出现问题(就像经常发生的那样),进程就会退出,窗口就会消失,除非我去实际阅读所有日志文件#TooMuchLikeWork,否则我对此一无所知。

有没有一种方法可以启动一个进程并在进程退出后让窗口保持打开状态,以便我可以快速发现渲染是否过夜?

windows-7 powershell adobe-after-effects

3
推荐指数
1
解决办法
2万
查看次数

如何获取 Windows 中所有 shell 位置的列表

在Windows中,有包含在Windows(所有的资源管理器外壳位置的命令(最好)或注册表项ComputerUsersFiles等等),而外部程序?

windows powershell windows-explorer cmd.exe

3
推荐指数
1
解决办法
516
查看次数

如何从命令提示符执行 Powershell Script AS Powershell 7

我有一个脚本需要运行 AS Powershell 7,因为只有 Powershell 7 有我需要的命令。

当我$PSVersionTable从 VSCode运行.PS1 脚本时,我得到:

Name                           Value
----                           -----
PSVersion                      7.0.1
PSEdition                      Core
Run Code Online (Sandbox Code Playgroud)

当我使用从命令提示符运行相同的 .PS1 脚本时powershell testscript_writefile.ps1,我得到:

Name                           Value
----                           -----
PSVersion                      5.1.14393.3471
PSEdition                      Desktop
Run Code Online (Sandbox Code Playgroud)

如何执行 Powershell 脚本AS Powershell 7 而不是 Powershell 5?

powershell command-line

3
推荐指数
2
解决办法
7353
查看次数

Powershell:如何找出公共接口的适配器索引?

我使用 powershell 脚本手动设置我的 DNS

这很好用,但是当我在 wifi 和两个不同的扩展坞之间移动时,get-NetAdapter 中的“ifIndex”发生了变化。

仅仅过滤“Up”不会飞,因为有多个Up接口(见下文)

我想我需要检测既是 Up 又是公共路由的接口(例如,在通往 google.com 或公共的路由上)。

这该怎么做?

PS C:\Users\joe> get-netadapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Ethernet                  TAP-ProtonVPN Windows Adapter V9             32 Disconnected 00-FF-F9-EE-DD-E4         1 Gbps
VMware Network Adapte...1 VMware Virtual Ethernet Adapter for ...      30 Up           00-50-56-EE-DD-01       100 Mbps
Wi-Fi                     Dell Wireless 1820A 802.11ac                 25 Up           C8-FF-28-EE-DD-4D       702 Mbps
VMware Network Adapte...8 VMware Virtual Ethernet Adapter for ...      24 Up           00-50-56-EE-DD-08       100 Mbps …
Run Code Online (Sandbox Code Playgroud)

powershell

3
推荐指数
1
解决办法
1085
查看次数