2017-04-05 15 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术语中的术语“当前目录”是指选择为当前的第1个目录。这就是点解决的问题。所以./*.jpg应该给你当前目录中的所有jpg文件。或者你的意思是别的吗? –

+0

这正是我的意思,但我已经尝试过./*.csv,但没有奏效。 –

+0

它做了什么? –

回答

1

我认为有很多建议如何获得运行脚本的路径。 Althought我是这样做的:

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

然后你有脚本执行的路径和你所需要的仅仅是打电话给你的脚本。

. $dir"MyScript.ps1" 
+0

So $ MyInvocation.MyCommand.Path获取脚本执行的路径?另外为什么我需要使用。 $ DIR “MyScript.ps1”;这个脚本将已经运行,我想要的是找到它只是在同一个文件夹中的csv文件。 –

+0

是的。哦,你是对的。 – Luke359

相关问题