การเขียนเชลล์สคริปต์อาจเป็นเรื่องยากและน่าเบื่อ โมดูลนี้จะช่วยให้คุณทำงานทั่วไป/การประมวลผลเป็นชุดในเทอร์มินัล Windows ได้ในไม่กี่วินาที แม้ว่าคุณจะไม่รู้อะไรเลยเกี่ยวกับ PowerShell ก็ตาม
เพียงพิมพ์และเรียกใช้ PowerGPT
เช่นนี้ แล้วโมเดล GPT จะดำเนินการส่วนที่เหลือให้คุณ:
$ PowerGPT " list all files in current folder with created date "
Will execute script:
-----
Get-ChildItem | Select-Object Name , CreationTime
-----
แม้แต่ผู้เชี่ยวชาญ PowerShell การพิมพ์คำไม่กี่คำแล้วปล่อยให้โมเดล AI ทำงานสกปรกก็ฟังดูเป็นวิธีที่ดีกว่าอย่างแน่นอน ;)
สคริปต์ถูกนำไปใช้ใน PowerSell เท่านั้นและบรรจุเป็นโมดูล PowerShell
-Chat
ที่ใช้รุ่น gpt-3.5-turbo ข้อดี: ถูกกว่าและเร็วกว่า จุดด้อย: ไม่สามารถให้คำแนะนำเช่นรุ่น text-davinnci-3
Invoke-RestMethod
เพื่อให้ภาษาส่วนใหญ่ใช้งานได้ในขณะนี้ $ PowerGPT -Chat "列出所有文件"
我们使用`Get-ChildItem`来列出所有文件。
```
Get-ChildItem -Path "C:" -Recurse -File
```
这将列出C盘下所有文件,包括子文件夹中的文件。如果要列出当前文件夹下的所有文件,可以将`-Path`参数设置为`.`。
Will execute script:
-----
Get-ChildItem -Path "C:" -Recurse -File
-----
Install-Module PowerGPT
คุณจะต้องมีคีย์ OpenAI API เพื่อใช้โมดูลนี้ คำสั่งจะขออินพุตสำหรับคีย์ API ในการใช้งานครั้งแรก หากต้องการรีเซ็ตคีย์ API ให้ใช้ตัวเลือก -ResetConfig
การใช้งานพื้นฐาน:
$ PowerGPT " list all files in current folder with created date "
Will execute script:
-----
Get-ChildItem | Select-Object Name , CreationTime
-----
continue ?([ y ]es , [ n ]o):
$ PowerGPT " extract compressed.tar.gz "
Will execute script:
-----
# Extract compressed.tar.gz in Windows using PowerShell
# First, check if the tar command is available
if ( ! ( Get-Command tar - ErrorAction SilentlyContinue)) {
# If not, install the tar command
Invoke-WebRequest - Uri " http://gnuwin32.sourceforge.net/downlinks/tar.exe.zip " - OutFile " tar.exe.zip "
Expand-Archive - Path " tar.exe.zip " - DestinationPath " $ env: ProgramFiles GnuWin32 "
# Add the tar command to the PATH
$ env: Path += " ; $ env: ProgramFiles GnuWin32 "
}
# Extract the compressed.tar.gz file
tar - xvzf compressed.tar.gz
-----
continue ?([ y ]es , [ n ]o):
$ PowerGPT " print the first line of all the files that begin with poet_ in current folder "
Will execute script:
-----
Get-ChildItem - Path . - Filter " poet_* " | ForEach-Object { Get-Content $_ .FullName | Select-Object - First 1 }
-----
continue ?([ y ]es , [ n ]o):
สำหรับงานที่ซับซ้อน เครื่องมือจะทำงานอย่างชาญฉลาดและให้ทางเลือกแก่ผู้ใช้:
$ PowerGPT " print first lines and last lines for each file in current folder "
The description is too vague , do you mean:
[ 0 ] For each file in current directory , print the first line and then print the last line of the file.
[ 1 ] For each file in current directory , print the first line of the file. After that , for each file , print the last line of the file.
Choose one description that matches your task: : 1
Will execute script:
-----
Get-ChildItem | ForEach-Object {
$file = $_ .FullName
Write-Host " First line of $file : "
Get-Content $file - TotalCount 1
}
Get-ChildItem | ForEach-Object {
$file = $_ .FullName
Write-Host " Last line of $file : "
Get-Content $file - Tail 1
}
-----
continue ?([ y ]es , [ n ]o)
นอกจากนี้ยังเป็นไปได้ที่จะเขียนสคริปต์โดยใช้ไลบรารีทั่วไปในภาษาอื่น:
$ PowerGPT " retrieve AzureDevops artifact for a build " - ShellVariant C #
The description is a little vague , do you mean:
[ 0 ] Use AzureDevops REST API to retrieve the artifact for a build.
[ 1 ] Use AzureDevops SDK to retrieve the artifact for a build.
Choose one description that matches your task , or [ n ]o: 0
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var organization = " your_organization " ;
var project = " your_project " ;
var buildId = " your_build_id " ;
var token = " your_token " ;
var client = new HttpClient();
client.DefaultRequestHeaders.Add( " Authorization " , $ " Bearer {token} " );
var url = $ " https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/artifacts?api-version=5.1 " ;
var response = await client.GetAsync(url);
var content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
}
}