标签: powershell

在 PowerShell 和命令行中清屏而不擦除所有内容

使用该clear命令时,屏幕会清除。完全。我根本无法再访问以前屏幕上的任何内容。

有没有办法“清除”屏幕(即使提示转到屏幕顶部)而不擦除屏幕上的所有内容?理想情况下,我想“清除”屏幕,但能够向上滚动以查看其他所有内容。

我正在使用 Windows 终端程序和 PowerShell shell,但我也想知道 Windows 命令行的答案。

我说我想保持向上滚动的能力 - 我的意思是我希望能够看到在我点击“清除”命令之前出现的所有内容,所以......是的,我想保留出现的所有内容之前,不是命令历史记录。

powershell command-line windows-10 windows-terminal

13
推荐指数
2
解决办法
9788
查看次数

如何使用 Powershell 脚本在 Windows 中查找空目录

你用什么命令在 Windows 中查找空目录?

某些文件夹可能包含一些隐藏文件夹,例如.svn.settings,但仍应将它们视为空文件夹。

windows powershell

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

Powershell 打开/响应非常慢

我在 Windows 7 64 位上运行 PowerShell 3.0 时遇到问题。运行时打开/启动需要很长时间。它对几乎任何事情的反应都非常缓慢。

我相信这可能是因为我的个人资料存储在我的文档中,并且我的文档文件夹已同步到我们的网络。

有什么方法可以移动我的个人资料的位置,以便我可以在本地而不是通过网络拥有它?

windows-7 powershell

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

如何在 PowerShell 中打开某个文件位置?

使用 Windows PowerShell,是否有比以下更短的打开程序的方法?

cd c:\program files
cd program folder
start program.exe
Run Code Online (Sandbox Code Playgroud)

windows powershell

12
推荐指数
2
解决办法
9万
查看次数

为什么 PowerShell ISE 不将脚本变量隔离到脚本范围?

在 PowerShell 中,作用域应该防止脚本中的对象(变量、别名、函数等)影响全局环境。这在命令行中似乎可以正常工作,但在 ISE 中则不然。

这是控制台中的演示。我检查是否$x在全局范围内未定义,显示内容ScopeTest.ps1然后运行它,最后检查是否$x再次定义。正如预期的那样,$x仅在脚本范围内创建和使用,并且在脚本终止后不会在全局环境中持续存在。

在此处输入图片说明

在 ISE 中,如果使用控制台窗口调用脚本,这似乎确实有效。

在此处输入图片说明

但是,如果我实际使用“运行脚本”按钮或 F5,脚本中的变量将在完成后保留。

在此处输入图片说明

如果脚本假定它将从干净的环境开始(即:脚本中设置的任何变量不应该已经存在。),这会使编写和故障排除脚本有点困难。为什么 ISE 会以这种方式运行?

这个问题的答案稍微触及了这个话题,提到了“点源”,但我希望在这里得到更彻底的解释。此外,如果存在有关脚本在 ISE 中的运行方式与控制台中运行方式不同的原因的文档,也可以提供参考。

powershell

12
推荐指数
1
解决办法
5828
查看次数

将文件内容通过管道传输到 PowerShell 命令中,而无需将整个文件加载到内存中

我最近开始使用 PowerShell,希望再也不会错过Bash

我想恢复一个PostgreSQL数据库的实例。在 Bash 或旧的命令提示符中,我会输入:

psql --username=... db_name < 备份.sql

在 PowerShell 中,我发现我需要这样做:

获取内容备份.sql | & psql --username=... db_name

问题是 backup.sql 很大 - 大于我机器上的 RAM 量。Get-Content首先将文件读取到内存中,然后才将其发送到psql.

这是个问题。

如何模拟<PowerShell 中的行为?

memory powershell pipe windows-10

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

如何在 PowerShell 中显示当前映射的驱动器?

需要一个 PowerShell 命令来显示它映射到的驱动器号和路径。

换句话说,一个命令向我显示与 Windows 资源管理器相同的内容。

试过这个:

Get-WmiObject -Class Win32_MappedLogicalDisk | select Name, ProviderName
Run Code Online (Sandbox Code Playgroud)

它缺少几个驱动器(在 Windows 资源管理器中列出)。

powershell c# command-line .net-framework mapped-drive

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

如何递归地将指定扩展名的所有文件复制到另一个位置

我在这里尝试接受的解决方案:https : //serverfault.com/questions/194827/writing-a-powershell-script-to-copy-files-with-certain-extension-from-one-folder/223014#223014 但是它不起作用,我对已接受解决方案的评论没有得到回应。

我正在尝试将我的图片驱动器中的所有图片(只有 PNG、JPG,没有视频文件)复制到另一个驱动器,但没有成功。

理想情况下,我想递归复制,但复制到平面目标(不镜像源子目录)

我试过这个命令: Copy-Item -path "C:\Users\genadi\Pictures\" -include "*.JPG", "*.PNG" -Destination "D:\"有和没有-recurse但没有任何反应。

理想情况下,我想要一个脚本,它可以 1) 减小所有 JPG 和 PNG 图片(包括所有子文件夹)的原始大小,以及 2) 将减小的大小复制到指定的目的地。

目前我的原件大约 20GB,我需要将它们安装在闪存驱动器上以用于显示/打印等目的,并在需要时轻松重复此操作(因此脚本会很好)。

powershell

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

如何更新 Cmder 以使用 PowerShell Core?

随着PowerShell Core 6.0.0 的发布,我想开始使用它而不是 Windows 10 的默认 PowerShell。

我目前为此使用 Cmder,它基于 ConEmu。已经有两个 PowerShell 任务,我假设我可以更新它们以指向我本地安装的 PowerShell Core(在 C:\Program Files\PowerShell\6.0.0 中)。

我已经尝试将 Powershell::Powershell 的任务参数更新为以下内容:

/dir "C:\Program Files\PowerShell\6.0.0\" /icon "%CMDER_ROOT%\icons\cmder_blue.ico"
Run Code Online (Sandbox Code Playgroud)

然后我将命令更新为:

"%ProgramFiles%\PowerShell\6.0.0\PowerShell.exe" -ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command "Invoke-Expression '. ''%ConEmuDir%\..\profile.ps1'''" -new_console:d:"%USERPROFILE%" -new_console:d:D:\git
Run Code Online (Sandbox Code Playgroud)

但是,它因以下错误而中断:

'c:\program' 不是内部或外部命令,也不是可运行的程序或批处理文件。

我将如何设置 Cmder/ConEmu 来调用 PowerShell 的 PowerShell Core 版本而不是默认安装?

powershell cmder

12
推荐指数
1
解决办法
9586
查看次数

如果 Powershell 命令分隔符是 ; (分号),为什么“date; dir”使dir输出额外的细节?

我知道分号是 Powershell 中的命令分隔符。 echo "hello"; dir给出这个输出。

PS C:\> echo "hello"; dir
hello

Directory: C:\

Mode         LastWriteTime     Length Name
----         -------------     ------ ----
d-----       2018-04-29 13:02         BCD_Backup
d-----       2018-12-02 14:08         Dell
<snip>
Run Code Online (Sandbox Code Playgroud)

但是为什么会date; dir给出这个输出呢?

PS C:\> date; dir

Friday, December 14, 2018 11:14:23

PSPath            : Microsoft.PowerShell.Core\FileSystem::C:\BCD_Backup
PSParentPath      : Microsoft.PowerShell.Core\FileSystem::C:\
PSChildName       : BCD_Backup
PSDrive           : C
PSProvider        : Microsoft.PowerShell.Core\FileSystem
PSIsContainer     : True
Name              : BCD_Backup
FullName          : C:\BCD_Backup
Parent            :
Exists            : True
Root              : C:\
Extension         :
CreationTime …
Run Code Online (Sandbox Code Playgroud)

powershell command-line

12
推荐指数
1
解决办法
3906
查看次数