sourcecode

PowerShell 스크립트에서 C# .cs 파일 실행

codebag 2023. 10. 25. 23:19
반응형

PowerShell 스크립트에서 C# .cs 파일 실행

저는.PowerShell V2일부 파일을 이동하고 일부 서비스를 설치하는 스크립트입니다.하지만 파워쉘 스크립트 중간쯤에 .cs 파일을 호출해서 실행하고 싶습니다.전화에 관한 많은 기사들을 발견했습니다.PowerShell부터C#그 반대는 없습니다C# 파일을 한 번만 실행하고 PowerShell 스크립트를 계속 실행했으면 합니다.

이를 수행하는 방법을 설명하는 기사의 방향을 알려줄 수 있는 사람이나 자신을 알고 도움을 줄 수 있다면 매우 감사할 것입니다.

우리가 도망칠 수 없는 이유를 못 봤어요.cs파워쉘에서 직접 파일을 만들어서 키스의 스나이프를 가져다가 실종자를 추가했습니다Get-ContentOP가 요구하는 것을 말 그대로 수행할 부분입니다.코드를 컴파일할 필요가 없고 편집만 하면 됩니다.-Path당신의 주장을 가리킵니다..cs파일.

$source = Get-Content -Path "A:\basic.cs"
Add-Type -TypeDefinition "$source"

# Call a static method
[BasicTest]::Add(4, 3)

# Create an instance and call an instance method
$basicTestObject = New-Object BasicTest
$basicTestObject.Multiply(5, 2)

Basic.cs

public class BasicTest
{
    public static int Add(int a, int b)
    {
        return (a + b);
    }

    public int Multiply(int a, int b)
    {
        return (a * b);
    }
}

사용가능Add-TypeC# 코드를 컴파일하여 현재 PowerShell 세션에 추가합니다.그런 다음 다른 코드와 마찬가지로 C# 코드를 호출합니다.NET 프레임워크 코드.이것은 의 예입니다.man pageAdd-Type(추가 유형):

PS C:\>$source = @"
public class BasicTest
{
  public static int Add(int a, int b)
    {
        return (a + b);
    }
  public int Multiply(int a, int b)
    {
    return (a * b);
    }
}
"@

PS C:\>Add-Type -TypeDefinition $source
PS C:\>[BasicTest]::Add(4, 3)
PS C:\>$basicTestObject = New-Object BasicTest
PS C:\>$basicTestObject.Multiply(5, 2)

잘못된 걸 찾으시는군요C#을 어셈블리에 넣고 를 호출하는 것처럼 PowerShell에서 공용 클래스, 기능 및 메서드를 호출합니다.파워셸의 NET Framework입니다.

PowerShell에서 C# 소스를 컴파일하고 실행하려면 Weekend Scripter: PowerShell 내에서 C# 코드를 실행합니다.

원하는 경우 *.bat 파일에서 c# 스크립트를 실행할 수 있습니다.

  1. c# 스크립트 생성(예: Program.cs )public static void Main()방법
  2. *.bat(예: Run.bat) 파일을 생성하고 다음 코드를 배치합니다.
@ECHO off
Echo Please run as administrator
setlocal
cd /d %~dp0
set csDir=%cd%\Program.cs
powershell ^
set-executionpolicy remotesigned; ^
$source = Get-Content -Raw -Path %csDir%; ^
Add-Type -TypeDefinition "$source"; ^
[Program]::Main()
  1. 달려.

A .cs파일을 직접 읽을 수 있습니다.

Add-Type -Path 'program.cs'

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/add-type?view=powershell-5.1

언급URL : https://stackoverflow.com/questions/24868273/run-a-c-sharp-cs-file-from-a-powershell-script

반응형