如何将带有内容文件夹的 HTML 文件转换为独立的 HTML 文件,该文件可以从任何地方查看其图像等。
怎么做才能使其也可编辑并在编辑后保持独立。
我基本上需要制作基于 HTML 文件的文档,可以从任何地方查看。不幸的是它必须是 HTML,否则我会制作 PDF
谢谢
我们如何在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
我想知道是否有一种简单/单行的方法可以使用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数量不断增加?
所以我在这里遇到了一些问题,我似乎无法弄清楚如何更新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或对象的情况下更新此内容?
嘿家伙我无法弄清楚如何将以下函数(需要输入)转换为变量
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
那我该怎么办?
谢谢
我正在尝试自动化为每月报告类型工作簿在 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) 所以我的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作为返回值……尽管事实上它们很多
如何从特定键/值对开始拆分哈希表?
我有以下哈希表,只是更长:
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但失败了.
我特别想把它与名字分开,除名字,年龄和位置之外的一切都不一致.
我的实际问题是我想在为什么 = 异端时解析名称和年龄的哈希表,不幸的是,数据的原始来源是字符串列表,这就是我将其转换为哈希表的原因.
我有一个脚本(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)
与此工作,否则它没有
我正在尝试创建一个 .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 添加哪些代码?
谢谢
我在解析 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 的东西?
谢谢
所以我有一个包含 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仅包含其中之一的数据。