Hemen şimdi bir Powershell işlevi oluşturdum ve bir ps1 dosyasına kaydettim. Ancak, bunu powershell içinden yürütmeye çalıştığımda, çalışmayacak.Powershell ps1 dosyası "bir cmdlet, işlev, çalıştırılabilir program veya komut dosyası dosyası olarak tanınmadı."
Allready bu komutu girerek imzalanmamış kod çalıştırmak için ayarlara değiştirdik:
set-executionpolicy remotesigned
işlevi şudur:
Function listAllPaths([string]$fromFolder, [string]$filter, [string]$printfile){
Get-ChildItem -Path $fromFolder -Include $filter -Recurse -Force -Name > $printfile
}
Yaptığı şey bir textfile oluşturmak olduğu tüm yol belirli bir dosyaya listelenir.
Doğrudan c: \ altına koydum ve işlevle aynı olan dosya listesiAllPaths olarak adlandırdım. Ben PowerShell içeride aşağıdaki komutu girdiğinizde
: terimi 'listAllPaths.ps1' bir cmdlet, işlev olarak tanınmayan edilir
:
PS> listAllPaths.ps1 c:\ *.pdf testingPDF.txt
bir hata söyleyerek olsun çalıştırılabilir program veya komut dosyası. Terimi doğrulayın ve tekrar deneyin.
Bazı şeyleri denedim ve bu işi nasıl yapacağımı bilmiyorum. Beklediğim şey, belirtilen yol üzerinde oluşturulacak bir dosya için, bu örnekte c: \. Bu dosya, testPDF.txt adını ve bu içeriği oluşturan içeriğe sahip.
Birisi bana burada neyi unuttuğumu söyleyebilir mi?
Ve hayır, Google her şeye cevap vermiyor. Bunu zaten denedim. Çevrimiçi arama motorlarını denemediysem buraya gelmezdim.
Teşekkürler, ama işe yaramadı. Bu komuta girdim ve hemen üstünden atladım. Hiçbir hata bildirildi, sadece komutları girmem için powershell'deki yeni bir satır. – KdgDev
Tamam, bu yüzden ps komut dosyası gerçekten çalışıyor, ancak hiçbir çıktı iade edilmiyor. Bunu doğrulamak için bazı baskı ifadeleri koymaya çalışın. Şimdi başka bir önemsiz hata yapmadığına emin misin? Görüyorum ki kodunuzu bir işleve koydunuz, ama aslında betikteki Fonksiyonu mu çağırıyorsunuz? – Chaitan
Komut dizimde işlevi mi çağırıyorum? Ben Powershell'le bu kadar deneyimli değilim, burada yayınladığım şey, senaryonun tam içeriği değil, daha az değil. – KdgDev