Tag: powershell

是否有一个Windows命令shell将显示Unicode字符?

假设我已经安装了字体,其中有适当的字形,是否有Windows XP的命令shell,将显示Unicode字符? 至less,应该正确显示Unicode的两件事: 目录列表。 我不在乎要input什么(dir,ls,get-childitem等),只要名称中带有Unicode字符的文件显示为正确的字形,而不是不可打印的字符框。 文本文件内容列表。 再次,只要字符被打印,对于我来说,如果它是“less”,“更多”,“猫”,“狗”等,并不重要。 我认识到,由于文件的字符编码,这是更复杂的,所以如果我必须在命令行中指定,那对我来说很好。 以下是我迄今为止所尝试的: CMD.EXE Windows PowerShell; 包括多语言版本。 Cygwin bash 没有运气。 我甚至尝试安装cmd / PowerShell的自定义字体 。 PowerShell和cmd.exe似乎是Unicode的意识,我可以复制/粘贴不可打印的盒子,它会粘贴到其他应用程序与正确的字符。 Cygwin(?)似乎转换为? 字符,并通过复制/粘贴。 有任何想法吗?

Powershell可以并行运行命令吗?

我有一个PowerShell脚本来做一些图像批量处理,我想做一些并行处理。 Powershell似乎有一些后台处理选项,如开始工作,等待工作等,但我发现做并行工作的唯一好资源是写出脚本的文本并运行这些( PowerShellmultithreading ) 理想情况下,我想在.net 4中类似于foreach。 一些非常像: foreach-parallel -threads 4 ($file in (Get-ChildItem $dir)) { .. Do Work } 也许我会更好的下降到C#…

使用命令行参数从C#执行PowerShell脚本

我需要从C#中执行一个PowerShell脚本。 该脚本需要命令行参数。 这是我迄今为止所做的: RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create(); Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration); runspace.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace); Pipeline pipeline = runspace.CreatePipeline(); pipeline.Commands.Add(scriptFile); // Execute PowerShell script results = pipeline.Invoke(); scriptFile包含“C:\ Program Files \ MyProgram \ Whatever.ps1”之类的东西。 该脚本使用命令行参数(如“-key Value”),而Value可以是可能包含空格的path。 我没有得到这个工作。 有谁知道如何将命令行parameter passing给C#中的PowerShell脚本,并确保空间没有问题?

你怎么能在一个双引号string中使用对象的属性?

我有以下代码: $DatabaseSettings = @(); $NewDatabaseSetting = "" | select DatabaseName, DataFile, LogFile, LiveBackupPath; $NewDatabaseSetting.DatabaseName = "LiveEmployees_PD"; $NewDatabaseSetting.DataFile = "LiveEmployees_PD_Data"; $NewDatabaseSetting.LogFile = "LiveEmployees_PD_Log"; $NewDatabaseSetting.LiveBackupPath = '\\LiveServer\LiveEmployeesBackups'; $DatabaseSettings += $NewDatabaseSetting; 当我尝试使用string执行命令中的某个属性时: & "$SQlBackupExePath\SQLBackupC.exe" -I $InstanceName -SQL ` "RESTORE DATABASE $DatabaseSettings[0].DatabaseName FROM DISK = '$tempPath\$LatestFullBackupFile' WITH NORECOVERY, REPLACE, MOVE '$DataFileName' TO '$DataFilegroupFolder\$DataFileName.mdf', MOVE '$LogFileName' TO '$LogFilegroupFolder\$LogFileName.ldf'" 它试图只使用$DatabaseSettings的值而不是$DatabaseSettings[0].DatabaseName ,这是无效的。 […]

PowerShell:以pipe理员身份运行一个命令

你知道如果你是一个系统的pipe理用户,你可以右键点击说一个批处理脚本,并以pipe理员身份运行,而无需inputpipe理员密码? 我想知道如何用PowerShell脚本来做到这一点。 我不想input密码; 我只是想模仿右键单击以pipe理员身份运行的方法。 我目前阅读的所有内容都要求您提供pipe理员密码。

使用PowerShell以不含BOM的UTF-8编写文件

使用UTF-8时, Out-File似乎强制BOM: $MyFile = Get-Content $MyPath $MyFile | Out-File -Encoding "UTF8" $MyPath 如何使用PowerShell以UTF-8编写不含BOM的文件?

如何使用PowerShell创build一个zip压缩文件?

是否有可能使用PowerShell创build一个zip存档?

Windows批处理脚本中的文件/文件夹select器对话框

通常,要求用户向批处理脚本提供文件名是一件杂乱的事情,不需要拼写错误,空格的path引号等等。 不幸的是,用户的准确性不是很出名。 在input文件位置直到运行时才知道的情况下,使用GUI进行文件selectinput可降低用户错误的可能性。 有没有办法调用File… Open从Windows批处理脚本File… Open样式gui文件select器或文件夹select器? 如果脚本用户安装了PowerShell或.NET,则可以。 请参阅下面的答案。 我也有兴趣看看其他人可以提供什么解决scheme。

什么是确定当前PowerShell脚本位置的最佳方法?

无论何时我需要引用一个通用的模块或脚本,我都喜欢使用相对于当前脚本文件的path,这样,我的脚本就可以随时在库中find其他脚本。 那么,确定当前脚本目录的最佳标准方法是什么? 目前,我正在做: $MyDir = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition) 我知道在模块(.psm1)中,您可以使用$PSScriptRoot来获取这些信息,但是这并不是在普通脚本(即.ps1文件)中设置的。 获取当前PowerShell脚本文件位置的规范方法是什么?

设置Windows PowerShellpathvariables

我发现设置PATH环境variables只影响旧命令提示符。 PowerShell似乎有不同的环境设置。 如何更改PowerShell(v1)的环境variables? 注意: 我想使我的更改永久化,所以我不必每次运行PowerShell时都进行设置。 PowerShell有一个configuration文件? 像Unix上的Bashconfiguration文件?