การดำเนินการคำสั่งในหลายโฟลเดอร์ย่อยใน windows powershell


0

ฉันอยู่ในโฟลเดอร์ที่มี 24 โฟลเดอร์ย่อย โฟลเดอร์ย่อยนั้นมีชื่อว่า Angle1, Angle2, ... , Angle24 ในแต่ละโฟลเดอร์ย่อยเหล่านี้ฉันต้องการดำเนินการคำสั่งนี้:

Get-ChildItem PKA.dump -r | Sort-Object $_ | ForEach-Object { Get-Content $_ | Select -Index 19 } > output.txt

มีวิธีทำเช่นนี้กับ Windows PowerShell หรือไม่

หมายเหตุฉันไม่ต้องการดำเนินการคำสั่งในโฟลเดอร์ย่อย

สิ่งนี้ไม่ได้ทำในสิ่งที่ฉันต้องการ:

Get-ChildItem/*/ PKA.dump -Recurse | Sort-Object $_ | ForEach-Object { Get-Content $_ | Select -Index 19 } > output.txt

คำตอบ:


1

คุณสามารถใช้สิ่งนี้:

สร้างวัตถุ PowerShell ในพาเรนต์ (เช่นการscript.ps1ถือครองGet-ChildItem PKA.dump -r | Sort-Object $_ | ForEach-Object { Get-Content $_ | Select -Index 19 } > output.txt) และเปิดใช้งานการเรียกใช้ที่ไม่ได้ลงนามด้วย: Set-ExecutionPolicy Unrestrictedจาก Admin PowerShell

คัดลอกและวางสิ่งนี้ลงในไฟล์แบตช์:

copy script.ps1 Angle1
cd Angle1
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle2
cd Angle2
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle3
cd Angle3
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle4
cd Angle4
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle5
cd Angle5
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle6
cd Angle6
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle7
cd Angle7
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle8
cd Angle8
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle9
cd Angle9
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle10
cd Angle10
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle11
cd Angle11
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle12
cd Angle12
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle13
cd Angle13
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle14
cd Angle14
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle15
cd Angle15
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle16
cd Angle16
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle17
cd Angle17
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle18
cd Angle18
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle19
cd Angle19
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle20
cd Angle20
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle21
cd Angle21
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle22
cd Angle22
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle23
cd Angle23
powershell .\script.ps1
del script.ps1
cd ..
copy script.ps1 Angle24
cd Angle24
powershell .\script.ps1
del script.ps1
cd ..
exit

บันทึกและเรียกใช้สคริปต์ในฐานะผู้ดูแล

ตัวอย่างเช่น: script.batคลิกขวาRun as Administrator


ที่ทำให้ฉันมีข้อผิดพลาดมากมาย บางอย่างเช่น script.ps1 ไม่ได้รับการยอมรับว่าเป็นชื่อของ cmdlet, ฟังก์ชั่น, ไฟล์สคริปต์หรือโปรแกรมที่ทำงานได้
Jackson Hart

ooh ฉันรู้ว่าฉันลืมบางสิ่งบางอย่างส่งสัก
ครู่

ข้อผิดพลาดจำนวนมากที่บอกว่าระบบไม่สามารถหาเส้นทางที่ระบุได้เช่นกัน
Jackson Hart

แม้จะมีการแก้ไขของคุณฉันยังคงได้รับข้อผิดพลาดเดียวกัน
Jackson Hart

คุณต้อง script.ps1 มีGet-ChildItem PKA.dump -r | Sort-Object $_ | ForEach-Object { Get-Content $_ | Select -Index 19 } > output.txtอยู่ข้างใน
td512
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.