1
我正在使用腳本來自動添加用戶。我想從目錄中的所有CSV文件讀取,直到它們完成,然後我想將這些csvs移動到存檔。在程序中,我正在檢查一個txt文件,以確保該程序的另一個實例尚未運行。之後,我允許代碼運行或程序結束。當我運行帶有一個或兩個名爲test.csv和test2.csv的測試文件的程序時,我沒有任何錯誤。一旦我添加隨機名稱.csv並嘗試運行這些通過我得到import-csv無法找到該文件的錯誤,路徑是告訴我在它的文件沒有正確的,它從腳本的位置。導入CSV問題powershell
這裏是我的代碼:
$fileDirectory = "c:\test";
$CheckRun = Get-Content c:\test\checkrun.txt
Write-Host $($CheckRun)
if($CheckRun -eq "notrunning") {
Get-ChildItem $fileDirectory -Filter *.csv | Foreach-Object {
$list= Import-Csv $_
$State = "running"
$basename = $_.BaseName
$file = $FileDirectory + "\" + $basename + ".csv"
$ArchiveFile = $fileDirectory + "\archive\" + $basename + "old.csv"
foreach ($entry in $list) {
# will run command here using the entries from the CSVs
write-Host $($entry.EMAIL) $($entry.FIRSTNAME) $($entry.LASTNAME) $($entry.PASSWORD)
}
Move-Item $($file) ${ArchiveFile} -force
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
$State > c:\test\Checkrun.txt
}
$State = "notrunning"
$State > c:\test\Checkrun.txt
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
}
else {
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
exit
}
就解決我的問題,我可以告訴它是想引用我運行的文件路徑,但我不知道正確的語法。我還注意到它部分工作的原因是我有一個與腳本相同的文件夾中的前兩個CSV副本。謝謝, –