相关疑难解决方法(0)

确定已安装的PowerShell版本

如何确定计算机上安装的PowerShell版本,实际上是否已安装?

powershell

2543
推荐指数
16
解决办法
286万
查看次数

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

批处理文件在第一个命令后停止运行

我正在使用'HTML Match'工具来比较两个HTML文件.由于我必须比较许多文件,因此我创建了一个类似于后续的批处理文件.例如,我只提供五组文件.

cd "C:\Program Files\HTML Match"
HTMLMATCH.EXE "D:\Raj\compare1\a1.html" "D:\Raj\compare2\a1.html" "D:\Raj\compare_res\a1.html"
HTMLMATCH.EXE "D:\Raj\compare1\a2.html" "D:\Raj\compare2\a2.html" "D:\Raj\compare_res\a2.html"
HTMLMATCH.EXE "D:\Raj\compare1\a3.html" "D:\Raj\compare2\a3.html" "D:\Raj\compare_res\a3.html"
HTMLMATCH.EXE "D:\Raj\compare1\a4.html" "D:\Raj\compare2\a4.html" "D:\Raj\compare_res\a4.html"
HTMLMATCH.EXE "D:\Raj\compare1\a5.html" "D:\Raj\compare2\a5.html" "D:\Raj\compare_res\a5.html"
Run Code Online (Sandbox Code Playgroud)

当我在cmd提示符中执行此批处理文件时,只比较第一行,即只有'a1.html',并生成结果.然后执行停止.

file batch-file

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

使用带有特殊字符的批量回显

这可能很容易,但网上没有答案.我想通过批处理将XML行回显到文件中,但它误解了重定向">"的XML结束标记.该行如下:

echo <?xml version="1.0" encoding="utf-8" ?> > myfile.xml
Run Code Online (Sandbox Code Playgroud)

是否有任何方法可以提示批量解析器不解释特殊字符串?我使用双引号但它也将它们写入文件!echo之后文件应如下所示:

<?xml version="1.0" encoding="utf-8" ?>
Run Code Online (Sandbox Code Playgroud)

batch-file echo

64
推荐指数
5
解决办法
15万
查看次数

确定程序集(CLR)版本的程序集

从命令行(或通过任何方式),我如何确定.NET程序集所需的CLR版本?

我需要确定程序集是否需要2.0或4.0 CLR版本.

.net assemblies version

50
推荐指数
6
解决办法
4万
查看次数

我的PowerShell脚本使用哪个.NET版本?

我想在我即将编写的一些PowerShell脚本中使用.NET - 当这些脚本运行时,我如何知道/声明我正在处理哪个版本的.NET?

是否可以选择运行哪个版本的.NET脚本?

.net powershell version

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

PowerShell脚本,用于查找包含数百万个文件的文件夹的文件大小和文件数?

该脚本的目的如下:

  1. 打印在目录中递归找到的文件数(省略文件夹本身)
  2. 打印目录的总和文件大小
  3. 由于大量内存使用,不会导致计算机崩溃.

到目前为止(3)是艰难的部分.

这是我到目前为止编写和测试的内容.这适用于具有一百甚至一千个文件的文件夹:

$hostname=hostname
$directory = "foo"
$dteCurrentDate = Get-Date –f "yyyy/MM/dd"

$FolderItems = Get-ChildItem $directory -recurse
$Measurement = $FolderItems | Measure-Object -property length -sum
$colitems = $FolderItems | measure-Object -property length -sum
"$hostname;{0:N2}" -f ($colitems.sum / 1MB) + "MB;" + $Measurement.count + " files;" + "$dteCurrentDate"
Run Code Online (Sandbox Code Playgroud)

但是,在包含数百万个文件的文件夹中,$colitems变量从数百万个文件的信息集合中变得如此庞大,这使得系统不稳定.有没有更有效的方法来绘制和存储这些信息?

powershell sum

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

如何使用Powershell访问安静的Web服务?

我需要集成一个现有的powershell脚本,通过一个返回json的restful web服务来更新它的状态.我对powershell有点新,但我能够找到System.Net.WebRequest对象,执行如下操作.

$a = [System.Net.WebRequest]::Create("http://intranet/service/object/")
$a.Method = "GET"
$a.GetResponse()
Run Code Online (Sandbox Code Playgroud)

它返回一个json对象数组

[ {id:1}, {id:2}] // etc
Run Code Online (Sandbox Code Playgroud)

我不知道从这里去哪里以及如何将其解析为本机数据类型.我也希望能够发布和删除.

有什么指针吗?有没有json/rest库或command-lets?

rest powershell json

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

在PowerShell中获取.Net对象异步方法的结果

我试图在Powershell中实例化的.Net对象上调用异步方法:

Add-Type -Path 'my.dll'

$myobj = new-object mynamespace.MyObj()

$res = $myobj.MyAsyncMethod("arg").Result

Write-Host "Result : " $res
Run Code Online (Sandbox Code Playgroud)

执行脚本时,shell似乎不会等待MyAsyncMethod().Result并且什么也不显示,尽管检查返回值表明它是正确的类型(Task<T>).各种其他尝试,例如中间变量Wait()等,没有给出任何结果.

我在网上找到的大部分内容都是从C#异步调用Powershell脚本.我想反过来,但似乎没有人对此感兴趣.这是否可能,如果没有,为什么?

powershell async-await

14
推荐指数
3
解决办法
7865
查看次数

Visual Studio 2010无法再构建.NET v3.5

我有一个针对.NET v3.5的2010项目.令人费解的是,我无法再构建v3.5项目.该项目没有添加任何参考.它甚至不会让我添加对System.Core的引用,因为它是由"构建系统"添加的.

警告CS1685:预定义类型'System.Func'在全局别名中的多个程序集中定义; 使用'c:\ Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll'中的定义

IFilter.cs(82,49):错误CS0433:类型'System.Func'存在于'c:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll'和'C:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319\mscorlib.dll中'

看起来有些东西正在抓住4.0但我不太确定如何修复它.还有其他人碰到这个吗?

同事有同样的问题.重新安装Windows以解决问题

我在这个问题上打开了一个错误:https://connect.microsoft.com/VisualStudio/feedback/details/558245/warning-cs1685-when-compiling-a-v3-5-net-application-in-visual-工作室2010

如果编译器设置为verbose,我会看到:

FrameworkPathOverride = C:\ Windows\Microsoft.NET\Framework\v4.0.30319

定义为:

指定mscorlib.dll和microsoft.visualbasic.dll的位置.此参数等效于vbc.exe编译器的/ sdkpath开关.

其他一些有趣的花絮:我一起创建了一个新项目,根本无法构建v3.5.我可以毫无问题地构建2.0,3.0,3.5客户端配置文件,4.0和4.0客户端配置文件.VB.NET可以构建v3.5但C#不能.我尝试重新安装.NET 3.5,4.0和Visual Studio 2010但没有成功.Visual Studio调试日志没有显示任何有趣的安全模式不起作用.

试图避免重新安装Windows ...

编辑:我已经意识到其他人也面临着这个问题.链接,链接,链接


重新安装了好几次.Visual Studio卸载不会自行清理.我已经开发了一个虚拟机来开发,直到我有机会重新安装我的主操作系统.

c# visual-studio-2010 .net-3.5

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