Tôi đã thực hiện một chức năng Powershell ngay bây giờ và lưu nó vào một tập tin ps1. Tuy nhiên, khi tôi cố gắng thực hiện nó từ bên trong PowerShell, nó sẽ không chạy.Tệp Powershell ps1 "không được nhận dạng dưới dạng lệnh ghép ngắn, chức năng, chương trình có thể hoạt động hoặc tệp tập lệnh."
Tôi đã allready thay đổi các thiết lập để chạy mã unsigned bằng cách nhập lệnh này:
set-executionpolicy remotesigned
Chức năng này là:
Function listAllPaths([string]$fromFolder, [string]$filter, [string]$printfile){
Get-ChildItem -Path $fromFolder -Include $filter -Recurse -Force -Name > $printfile
}
gì nó làm là tạo ra một textfile trong đó tất cả đường dẫn đến một tệp nhất định được liệt kê.
Tôi đã đặt nó trực tiếp dưới c: \ và đặt tên cho danh sách tệpAllPaths, giống như hàm.
Khi tôi nhập lệnh sau bên trong Powershell:
PS> listAllPaths.ps1 c:\ *.pdf testingPDF.txt
tôi nhận được một lỗi nói:
Thuật ngữ 'listAllPaths.ps1' không công nhận là một lệnh, chức năng, chương trình có thể hoạt động hoặc tệp tập lệnh. Xác minh cụm từ và thử lại.
Tôi đã thử một vài điều và tôi thực sự không biết cách làm việc này? Điều tôi mong đợi là một tệp sẽ được tạo trên đường dẫn đã cho, c: \ trong ví dụ này. Tệp đó có tên testingPDF.txt và nội dung được tạo ra này.
Ai đó có thể cho tôi biết những gì tôi quên ở đây.
Và không, Google không trả lời mọi thứ. Đã thử rằng một allready. Tôi sẽ không đến và hỏi nó ở đây nếu tôi đã không thử tất cả các công cụ tìm kiếm trực tuyến.
Cảm ơn, nhưng nó không hoạt động. Tôi đã nhập lệnh đó và nó vừa nhảy qua nó. Không có báo cáo lỗi, chỉ cần một dòng mới trong PowerShell cho tôi để nhập lệnh trên. – KdgDev
Ok, vậy điều đó có nghĩa là tập lệnh ps thực sự đang thực thi, nhưng không có đầu ra nào được trả về. Hãy thử đặt một số câu lệnh in để xác minh điều này. Bây giờ bạn có chắc là bạn không mắc phải một sai lầm tầm thường khác? Tôi thấy bạn đặt mã của bạn trong một hàm, nhưng bạn có thực sự gọi hàm trong kịch bản của bạn không? – Chaitan
Gọi chức năng trong tập lệnh của tôi? Tôi không có kinh nghiệm với Powershell, những gì tôi đăng ở đây là nội dung chính xác của kịch bản của tôi, không nhiều, không kém. – KdgDev