반응형

PowerShell 18

PowerShell에서 XML용 하위 요소를 추가하는 방법

PowerShell에서 XML용 하위 요소를 추가하는 방법 이 xml에 대한 하위 XML 요소를 만들려고 합니다. 이 PowerShell 스크립트를 사용합니다. [xml] $doc = Get-Content($filePath) $child = $doc.CreateElement("newElement") $doc.configuration.AppendChild($child) 오류가 있습니다.[시스템] 때문에 메서드 호출에 실패했습니다.String]에 'ApendChild'라는 메서드가 없습니다.점 표기법을 사용하여 XML 파일을 탐색하는 경우(예:$doc.configuration), 파워셸은 그것이 반환되는 것에 대해 영리해지려고 노력합니다. 대상 요소가 비어 있거나 텍스트 노드 하나만 포함된 경우 PS는 다음..

programing 2023.11.05

ForEach-Object - Parallel에서 사용자 지정 함수를 전달하는 방법

ForEach-Object - Parallel에서 사용자 지정 함수를 전달하는 방법 저는 그 기능을 전달할 방법을 찾을 수가 없습니다.변수만. ForEach 루프 안에 기능을 넣지 않은 아이디어가 있습니까? function CustomFunction { Param ( $A ) Write-Host $A } $List = "Apple", "Banana", "Grape" $List | ForEach-Object -Parallel { Write-Host $using:CustomFunction $_ } 솔루션은 원하는 만큼 간단하지 않습니다. # Sample custom function. function Get-Custom { Param ($A) "[$A]" } # Get the function's definit..

programing 2023.11.05

$파일의 각 $파일에 대한 PowerShell

$파일의 각 $파일에 대한 PowerShell 특정 기준에 맞는 파일을 이동하고 파일 목록을 가져오는 PowerShell 스크립트가 있습니다.왜?foreach객체가 비어 있어도 루프 실행? 만약 $i가 존재하지 않는다면 실행되지 않을 것이라고 생각합니다.그러나 $filePath에 결과가 없는 경우 forEach 루프가 한 번 실행되는 이유는 무엇입니까?제 문제를 해결해 보았지만 궁금하고 검색해 보았지만 답을 찾을 수 없었습니다. 이 작업을 수행하려면 $filePath가 forEach 루프 이전에 존재하는지 확인하기만 하면 됩니다. 예를 들어 if($filePath){... $filePath = Get-ChildItem -Path $sourceDir | Where-Object {! $_.PSIsContai..

programing 2023.10.31

파일을 잠그는 응용 프로그램을 확인하는 PowerShell 스크립트?

파일을 잠그는 응용 프로그램을 확인하는 PowerShell 스크립트? PowerShell에서 응용 프로그램이 파일을 잠그고 있는지 확인하려면 어떻게 해야 합니까? 파일을 닫을 수 있도록 어떤 프로세스/어플리케이션이 사용되고 있는지 확인하고 싶습니다.이 작업은 SysInternals tool handle.exe를 사용하여 수행할 수 있습니다.다음과 같은 것을 시도해 보십시오. PS> $handleOut = handle PS> foreach ($line in $handleOut) { if ($line -match '\S+\spid:') { $exe = $line } elseif ($line -match 'C:\\Windows\\Fonts\\segoeui\.ttf') { "$exe - $line" } } MS..

programing 2023.10.26

파워셸의 목록에서 마지막 항목 선택

파워셸의 목록에서 마지막 항목 선택 d에서 z까지 사용 가능한 드라이브 목록을 제공하는 이 코드 라인을 사용하여 드라이브 문자를 매핑하려고 합니다. ls function:[d-z]: -n | ? { !(test-path $_) } 그럼 목록에서 무작위가 아닌 마지막 편지를 뽑고 싶습니다.제가 그걸 어떻게 해야 하죠?파워셸은 처음입니다. 도와주셔서 감사합니다.사용가능Select-Object -Last 1그 파이프라인의 끝에.목록의 맨 뒤에서 시작해서 올라가시면 됩니다. 마지막 항목:$array[-1]두 번째부터 마지막까지:$array[-2]등등.만약 당신이 훨씬 더 장황하지만 (내 생각에는) 읽을 수 있게 개선된 버전을 찾는다면: # Get all drives which are used (unavailab..

programing 2023.10.26

Powershell을 사용하여 파일 이름을 재귀적으로 변경하는 중

Powershell을 사용하여 파일 이름을 재귀적으로 변경하는 중 나는 현재 내가 있는 폴더에 파일 이름을 일괄 변경할 줄을 가지고 있습니다. dir | foreach { move-item -literal $_ $_.name.replace(".mkv.mp4",".mp4") } 이 코드는 현재 내가 어떤 디렉토리에 있든 완벽하게 작동하지만, 내가 원하는 것은 11개의 하위 폴더가 포함된 상위 폴더에서 스크립트를 실행하는 것입니다.각 폴더를 개별적으로 탐색하여 작업을 수행할 수 있지만, 스크립트를 한 번 실행하여 완료하고 싶습니다. 나는 다음을 시도했습니다. get-childitem -recurse | foreach { move-item -literal $_ $_.name.replace(".mkv.mp4",..

programing 2023.10.21

파워셸 베이스64 vs 일반 베이스64

파워셸 베이스64 vs 일반 베이스64 파워셸을 사용해 문자열을 변환합니다. $Text = 'ouser:v3$34@#85b&g%fD79a3nf' $Bytes = [System.Text.Encoding]::Unicode.GetBytes($Text) $EncodedText =[Convert]::ToBase64String($Bytes) $EncodedText 그러나 base64 인코딩을 위해 https://www.base64decode.org/, 또는 일부 자바 라이브러리를 사용할 때 다른 짧은 버전이 나타납니다. 샘플 문자열: 이것은 비밀이므로 숨겨야 합니다. 파워셸 결과: VABoAGkAcwAgAGkAcwAgAGEAIABzAGUAYwByAGUDAAGAGEAbgBkACAAcwBoAG8AdQBsAGQAIABi..

programing 2023.10.11

AssemblyInfo.cs 에서 Assembly 버전 가져오기 및 바꾸기

AssemblyInfo.cs 에서 Assembly 버전 가져오기 및 바꾸기 업데이트하는 데 사용하는 regex(테스트 전용)가 있습니다.AssemblyVersion로부터AssemblyInfo.cs파일입니다. 하지만 이 값을 끌어내고 대체할 수 있는 가장 좋은 방법이 무엇인지 궁금합니다..cs파일 자체가? 여기 제 추측이 있습니다. 분명히, 작동하지는 않지만 일반적인 생각은 들어맞습니다.좀 더 우아한 것을 기대하고 있었습니다. Get-Content $file | Foreach-Object{ $var = $_ if($var -contains "AssemblyVersion"){ $temp = [regex]::match($s, '"([^"]+)"').Groups[1].Value.Substring(0, $prog..

programing 2023.10.06

Get-Content - 문서에 설명된 대로 작동하지 않을 때까지 기다립니다.

Get-Content - 문서에 설명된 대로 작동하지 않을 때까지 기다립니다. Get-Content path/to/logfile -Wait은 실제로 .한 후 고치면 sGet-Content로그 파일의 최신 변경 내용을 출력합니다. 해보면.tail -fcygwin하여를에 사용하지 음)get-content 그런 제가 도 할 합니다.) . 왜 이런 일이 일어나는지 아는 사람?편집: Bernhard König는 이것이 마침내 파워셸 5에서 해결되었다고 논평에서 보고합니다. 당신 말이 맞아요. 그.-Wait:nGet-Content파일이 닫힐 때까지 기다렸다가 더 많은 내용을 읽습니다.파워셸에서 이를 시연하는 것은 가능하지만, 다음과 같은 루프와 같이 바로 잡기가 어려울 수 있습니다. while (1){ get-da..

programing 2023.10.01

단순입력함 기능

단순입력함 기능 PowerShell에 대한 간단한 팝업 기능을 알고 있습니다. 예: function popUp($text,$title) { $a = new-object -comobject wscript.shell $b = $a.popup($text,0,$title,0) } popUp "Enter your demographics" "Demographics" 하지만 저는 입력을 요청하는 팝업을 받을 수 있는 동일한 것을 찾을 수 없습니다. 물론, 읽기 라인이 있지만 콘솔에서 프롬프트가 나타납니다. 그리고 한 두 번 입력을 요구하는 스크립트에 비해 지나치게 복잡한 기능이 있습니다. function getValues($formTitle, $textTitle){ [void] [System.Reflection.As..

programing 2023.10.01
반응형