小编Adi*_*ilZ的帖子

如何将带有内容文件夹的 HMTL 文件转换为独立的 HTML 文件

如何将带有内容文件夹的 HTML 文件转换为独立的 HTML 文件,该文件可以从任何地方查看其图像等。

怎么做才能使其也可编辑并在编辑后保持独立。

我基本上需要制作基于 HTML 文件的文档,可以从任何地方查看。不幸的是它必须是 HTML,否则我会制作 PDF

谢谢

html self-contained

10
推荐指数
2
解决办法
6259
查看次数

在PowerShell中进行内部联接(无SQL)

我们如何在PowerShell或PowerCLI中制作Inner-Join东西Cross-Join

尽管我对PowerCLI / PowerShell并不陌生,但我确实对此有一个基本的了解,但实际上花了两天的时间来弄清楚这一点,无数次浏览大量文档和博客。

我真正想知道的是输入命令后是否

Get-Content File.txt 
Run Code Online (Sandbox Code Playgroud)

并得到:

输出1或表1为

姓名:Abc
组:坏
政策:很棒

名称:redi
组:好 
政策:MAD

等等等

其中有100多个,而且显然每个名称,组,策略这3个元素都不止。


表2 /输出2

姓名:Abc
上限:10
用过的:5

名称:redi
上限:20
用过的:1

等等等

其中有数百个。


以及另外13个这些文本文件表,它们的“名称”都是唯一的。

最后如何使用Name和其他所有元素将其组合为一个输出?

我最明显的想法是有些类似的加入,即使我一次必须做一次,但即使我也无法弄清楚该怎么做。

无论如何,在PowerShell本身中是否可以执行此操作而无需我使用Python或SQL?

如果是,是否有一种方法可以将字段合并为空?

如果不清楚结果是什么类型,我希望它看起来类似于以下内容:

姓名:Abc
组:坏
政策:很棒
上限:10
用过的:5


名称:redi
组:好 
政策:MAD
上限:20
用过的:1

powershell join inner-join powercli

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

在 Where-Object 中排除数组中的项目

我想知道是否有一种简单/单行的方法可以使用Where-Object.

所以,而不是去:

 $filtereddata = $data |
     Where {$_.var -ne "1"} |
     Where {$_.var -ne "2"} |
     Where {$_.var -ne "3"} |
     Where {$_.var -ne "4"} |
     Where {$_.var -ne "5"} |
     Where {$_.var -ne "7"} |
     Where {$_.var -ne "10"} |
     Where {$_.var -ne "12"} 
Run Code Online (Sandbox Code Playgroud)

我去

 $filterddata = $data | Where {??????}
Run Code Online (Sandbox Code Playgroud)

或类似的东西...

请注意,它们都是相同的.Var

有没有办法更简单地做到这一点?特别是说,如果在自动化场景中,要排除的Var数量不断增加?

arrays powershell where

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

Powershell:如何在Json和XML Object中更新/替换数据和值

所以我在这里遇到了一些问题,我似乎无法弄清楚如何更新Object中的数据值

让我们举个例如关注的json

{
    "People": 263,
    "Hungry": true,
    "Fruits": {
        "Apples": 1 "Oranges": 2
    },
    "Places": {
        "Places": [{
                "Baskets": "true",
                "name": "Room 1",
                "candycount": 1500,
                "candytypespresent": {
                    "candies": [
                        "caramel"
                    ]
                }

            },
            {

                "Baskets": "false",
                "name": "Room 2",
                "candycount": 2000,
                "candytypespresent": {
                    "candies": [
                        "caramel",
                        "jawbreaker",
                        "butterscotch"
                    ]
                }
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

我有Powershell顺利阅读它 convertfrom-json

我该怎么做:

A)将"橘子"从"2"改为"100"

B)房间2中的"篮子"从"假"到"真"

C)在Room1中将"bubblegum"添加到"糖果"中

如何在不重写WHOLE json或对象的情况下更新此内容

powershell json object updates

4
推荐指数
1
解决办法
9611
查看次数

Powershell格式字符串,带有函数输出

嘿家伙我无法弄清楚如何将以下函数(需要输入)转换为变量

 function Convert-ToLetters ([parameter(Mandatory=$true,ValueFromPipeline=$true)][int] $value)  {
   $currVal = $value;
   $returnVal = '';
   while ($currVal -ge 26) {
      $returnVal = [char](($currVal) % 26 + 65) + $returnVal;
      $currVal =  [int][math]::Floor($currVal / 26)
   }
  $returnVal = [char](($currVal) + 64) + $returnVal;

     return $returnVal
  }
Run Code Online (Sandbox Code Playgroud)

此函数的作用是将数字转换为字母.

现在我想要实现的是以某种方式做到这一点:

$convert2letter = Convert-ToLetters()
Run Code Online (Sandbox Code Playgroud)

所以我可以做类似的事情

$WR= "$convert2letter($CValue1)" + "-" + "$convert2letter($CValue2)" + "-" + "3"
Run Code Online (Sandbox Code Playgroud)

但是Powershell不允许我做$ convert2letter

那我该怎么办?

谢谢

variables powershell function

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

Powershell Excel 自动添加工作表

我正在尝试自动化为每月报告类型工作簿在 excel 中为每个客户名称添加工作表(带有数据)的过程

我认为它应该是直接的......但我使用的方法不起作用......它甚至没有进入制表模式......你能帮我弄清楚我做错了什么吗?

以下是我做的功能

function Excelclientstatstemplate ($clients) {
$Exl = New-Object -ComObject "Excel.Application"
$Exl.Visible = $false
$Exl.DisplayAlerts = $false
$WB = $Exl.Workbooks.Open($excelmonthlysummary) 

$clientws = $WB.worksheets | where {$_.name -like "*$clients*"}

#### Check if Clients worksheet exists, if no then make one with client name ###
$sheetcheck = if (($clientws)) {} Else {


$WS = $WB.worksheets.add
$WS.name = "$clients" 
} 
$sheetcheck 

$WB.Save

# Enter stat labels 
$clientws.cells.item(1,1) = "CPU Count" 
$clientws.cells.item(2,1) =  "RAM"
$clientws.cells.item(3,1) =  "Reserved CPU"
$clientws.cells.item(4,1) =  "Reserved …
Run Code Online (Sandbox Code Playgroud)

com excel powershell worksheet

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

Powershell:Foreach无法正常工作?

所以我的foreach循环有问题,我无法弄清楚自己在做什么错。

以下是我的代码示例:

 $objectarray ##( So this variable contains a list of lists ie name + address) ##

 Foreach ($object in $objectarray.name){


$objectid = $objectarray.Where({$_.name -eq "$object"}).id
$objectaddress = $objectarray.Where({$_.name -eq "$object"}).address

$objectprint = "$objectid" + ": " + "$objectaddress"

$objectprint
return 0

}
Run Code Online (Sandbox Code Playgroud)

现在的问题是$ objectarray中有多个列表,每个列表都有其名称,id,地址等

但是它只打印第一个,而我只有第一个0作为返回值……尽管事实上它们很多

powershell foreach

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

在关键/值对中拆分hastable

如何从特定键/值对开始拆分哈希表?

我有以下哈希表,只是更长:

Name               Value
----               -----
Name               Alpha
Age                    2
Position           Trick
Start date      01-01-31
End date         Unknown
Name               Corax
Age                   21
Position           Sneak
Earnings          40'000
End Date         Unknown
Name               Horus
Age                   22
Position            Dead
Why               Heresy
End date        03-30-30

我尝试Group-Object但失败了.

我特别想把它与名字分开,除名字,年龄和位置之外的一切都不一致.

我的实际问题是我想在为什么 = 异端时解析名称年龄的哈希表,不幸的是,数据的原始来源是字符串列表,这就是我将其转换为哈希表的原因.

powershell hash split hashtable

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

如何在Powershell中查找当前脚本的位置/路径

我有一个脚本(script1.ps1)位于C:\ FolderA

我可以在脚本中插入什么powershell代码,它将打印脚本的当前位置/路径。(目标是使此脚本可移植)

即:

-在folderA中时,代码将打印C:\ FolderA(完整路径)

-当Script1.ps1移至C:\ FolderB \ FolderC并运行时,它将打印C:\ FolderB \ FolderC的完整路径

任何帮助将非常感激。

谢谢


感谢@Nkosi和@Kori Gill

我一直在寻找的答案是$ PSScriptRoot

需要注意的一件事是,我注意到在运行脚本之前必须先在脚本内定义一个变量:

$Path = $PSScriptRoot

$Path
Run Code Online (Sandbox Code Playgroud)

与此工作,否则它没有

powershell

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

查找从 EXE 包装器启动的 powershell 脚本的完整路径

我正在尝试创建一个 .exe 文件,它是一个打包的 powershell 脚本 (script.ps1),其中脚本的一部分是打印.exe 文件的当前位置,而不是脚本。

部分要求是 .exe 需要可移植:

所以当我运行 File.exe 或双击 File.exe 时:

如果文件的位置是C:\Hello\File.exe,它应该打印“C:\Hello\”

如果位置移动到D:\Goodbye\File.exe,它应该打印“D:\Goodbye\”

如果文件被复制到D:\HELLO\File.exe,它应该只打印“D:\HELLO\”


我试过了,$PSScriptRoot但只链接到临时文件夹


在将 script.ps1 打包为 .exe 以使其查找.exe文件的特定位置之前,我可以向 script.ps1 添加哪些代码?

谢谢

windows powershell exe filepath

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

powershell:分离并解析多行字符串

我在解析 REST API 的输出时遇到了麻烦。它是一个多行字符串

Policy Name: Default_US_MultiSite Id: abc1234abc123 Buckets: support_us1_multisite,ch1ny2
Policy Name: Default_CH Id: 123456789acdef Buckets: question,answer,ch2,ch1,drive.me.closer
Policy Name: Default_NY Id: qrstuvwxyz9876 Buckets: demo,bucket1,test1,test,ny0,nyhello,goodbye,new.shoes,pizza,cutecats,theinternetisfor,Halloween,For-the-emperor
Run Code Online (Sandbox Code Playgroud)

现在我确实知道如何按行分割它,我尝试使用以下代码

$data.Split("`n")
Run Code Online (Sandbox Code Playgroud)

但我仍然不知道下一步如何解析这个

它不将策略名称、存储桶、ID 识别为单独的对象

我是否将其转换为 json 或 xml 或将其分配为 json 或 xml 或使用不仅仅是 Convertto-xml 或 [xml] 前缀 $data 的东西?

谢谢

powershell parsing split

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

将新数据添加到 CSV

所以我有一个包含 3 列的 CSV:VM、GB、时间戳。

我正在尝试做的是:

如果该文件不存在,请从数据集中创建一个新的 CSV $VMdata$VMdata否则用尚未存在的数据更新 CSV $csv(新数据$VMdata也会有一堆旧数据)。

我尝试使用以下代码:

if (![System.IO.File]::Exists($csv)) {
    $VMdata | Export-Csv $csv -NoTypeInformation
} else {
    $importvmstat = Import-Csv $VMdata

    $newvmstat = $importvmstat + $VMstattest | Select Unique
    $newvmstat | Export-Csv $csv -NoTypeInformation
} 
Run Code Online (Sandbox Code Playgroud)

不幸的是,由于某种原因,它$newvmstat = $importvmstat + $VMstattest无法按照我想要的方式工作,并且$newvmstat仅包含其中之一的数据。

csv powershell

0
推荐指数
1
解决办法
711
查看次数