Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当一行有“0”时,比较对象不工作--&燃气轮机&引用;(xml文件另存为txt)_Xml_Powershell_Diff_Xml Comments - Fatal编程技术网

当一行有“0”时,比较对象不工作--&燃气轮机&引用;(xml文件另存为txt)

当一行有“0”时,比较对象不工作--&燃气轮机&引用;(xml文件另存为txt),xml,powershell,diff,xml-comments,Xml,Powershell,Diff,Xml Comments,我正在构建另一个web服务器“web2”,它必须与web服务器“web1”具有相同的配置 因此,在安装一些软件后,我需要编辑“web2”服务器上的“web.config”以匹配“web1”服务器中的“web.config” 我在笔记本电脑上执行此操作,因此我将两个“web.config”文件复制到笔记本电脑上,并运行以下命令: $w1="web1.server.local" $w2="web2.server.local" $myCred=(Get-Credential -

我正在构建另一个web服务器“web2”,它必须与web服务器“web1”具有相同的配置

因此,在安装一些软件后,我需要编辑“web2”服务器上的“web.config”以匹配“web1”服务器中的“web.config”

我在笔记本电脑上执行此操作,因此我将两个“web.config”文件复制到笔记本电脑上,并运行以下命令:

    $w1="web1.server.local"
    $w2="web2.server.local"
    $myCred=(Get-Credential -credential "myAD\myUser")
    $file="C:\path\to\my\web.config"
    Invoke-Command -ComputerName $w1 -Credential $myCred (Get-Content $args[0]) -ArgumentList $file | Set-content web1.txt
    Invoke-Command -ComputerName $w2 -Credential $myCred (Get-Content $args[0]) -ArgumentList $file | Set-content web2.txt 

好的,现在我有两个服务器的“web.config”文件,分别名为:web1.txt和web2.txt

在这里,您可以看到文件中差异的图片(我使用notepad++),因为您可以看到只有4个差异。 请注意,我修剪了文件,每个文件只有42行

然后,我尝试使用“compare Object”cmdlet比较这两个文件,但没有得到准确的信息:

PS C:\> Compare-Object (Get-Content .\web1.txt) (Get-Content .\web2.txt)

InputObject SideIndicator
----------- -------------
            <=
            <=
PS C:\>比较对象(获取内容。\web1.txt)(获取内容。\web2.txt)
输入对象侧指示器
----------- -------------
=

我不是已经回答了吗?Compare对象首先对两个输入进行排序,这样两个文件除了两个额外的空行之外都是相同的


这里有一个相同的问题:Compare-Object cmdlet无法与“一起使用。我是否已经回答了这个问题?Compare-Object首先对两个输入进行排序,因此这两个文件最终是相同的,除了两个额外的空行


这里有一个相同的问题:Compare-Object cmdlet不适用于“我们可以查看文件或显示问题的小示例吗?您的输出表明RHS文件中有LHS文件中不存在的空行/空行。我怀疑您在
Cat
别名上安装了一些内容,并与标准输出进行了比较。您是否确实尝试过使用原始PowerShell
Get Content
cmdlet而不是
Cat
别名?因此:
Compare对象(getcontentweb1.config.txt)(getcontentweb2.config.txt)
我们可以查看文件或显示问题的小示例吗?您的输出表明RHS文件中有LHS文件中不存在的空行/空行。我怀疑您在
Cat
别名上安装了一些内容,并与标准输出进行了比较。您是否确实尝试过使用原始PowerShell
Get Content
cmdlet而不是
Cat
别名?因此:
Compare对象(getcontentweb1.config.txt)(getcontentweb2.config.txt)
PS C:\> Compare-Object (Get-Content .\web1.txt) (Get-Content .\web2.txt)

InputObject SideIndicator
----------- -------------
      <!--  =>
      <!--a <=
            <=
            <=
PS C:\> Compare-Object (Get-Content .\web1.txt) (Get-Content .\web2.txt)

InputObject SideIndicator
----------- -------------
      <!--  =>
      -->   =>
      <!--a <=
      -->b  <=
            <=
            <=