2017-04-05 6 views
0

powershellで相対パスファイルと相対(ワイルドカード)ファイルを使用するにはどうすればよいですか?現在のディレクトリを取得し、ワイルドカードを使用してcsvファイルを検索する方法は?

私は次のことを試してみましたが、うまくいきませんでした:

Powershell -c 
$file= Get-ChildItem -Filter *.csv 
[System.IO.File]::ReadAllText .\$file .replace('Buyer','Alıcı'). 
replace('Supplier','Tedarikçi'). 
replace('FI','Banka'). 
replace('Supplier Reference','Tedarikçi Referansı'). 
replace('Buyer Program','Alıcı Programı'). 
replace('Buy Offer','eklif Al'). 
replace('Payment Obligation Id','Ödeme Yükümlülüğü Kimliği'). 
replace('Buyer Unique Doc Id','Alıcı Benzersiz Doküman Kimliği'). 
replace('Trade Date','Ticaret Tarihi'). 
replace('Due Date','ödeme tarihi'). 
replace('Maturity Date','Vade Tarihi'). 
replace('Currency','Para Birimi'). 
replace('Certified Value','Sertifikalı Değer'). 
replace('Buyer Payment Amount','Alıcıya Ödeme Tutarı'). 
replace('Buyer Fee','Alıcı Ücreti'). 
replace('Supplier Interest Fees','Tedarikçi Faiz Ücretleri'). 
replace('Supplier Funds Received','Alınan Tedarikçi Fonu')|sc c:\pstest\test2.csv 

私はスクリプトがスクリプトは、任意のアイデアを実行されているのと同じディレクトリ内の任意のCSVファイルを取得したいですか?

+0

「現在のディレクトリ」という用語は、PS lingoの最新のものとして選択されたlstディレクトリを指します。これが解決する点です。したがって、./*.jpgは現在のディレクトリ内のすべてのjpgファイルを提供する必要があります。それとも別の意味ですか? –

+0

これはまさに私が意味することですが、私は./*.csvを試しましたが、うまくいきませんでした。 –

+0

何をしましたか? –

答えて

1

実行中のスクリプトのパスを取得する方法がたくさんあると思います。私はこのようなことを行うだろう Althought:

$dir = $MyInvocation.MyCommand.Path 
$dir = $dir.SubString(0, $dir.LastIndexOf("\") + 1) 

その後、スクリプトの実行と何が必要なのパスを持っては自分のスクリプトを呼び出すことです。

. $dir"MyScript.ps1" 
+0

したがって$ MyInvocation.MyCommand.Pathは、スクリプトが実行されているパスを取得しますか?また、なぜ私は使用する必要があります。 $ dir "MyScript.ps1";このスクリプトはすでに実行されていて、私が望むのは、同じフォルダにあるcsvファイルを見つけることだけです。 –

+0

はい。ああ、あなたは正しい。 – Luke359

関連する問題