Windows 7 x64の場合Powershell 3.0:
私はファイルをダウンロードするディレクトリを持っています。これは.csvファイルで行います。 ファイルのサンプルは次のとおりです。私はこのCSV、オペアンプウィッヒを持ってPowershellはファイルが存在するかどうかを確認します
008KS04.zip
008KS05.zip
008KS06.zip
008KS07.zip
008KS08.zip
008KS09.zip
された試料:
Documentnummer,Versie,Status,Geocode,IDS datum,Documentgroep (Omsch),Documenttype (Wrd),Tekeningnummer
550164,I,AB,008,26.03.2016,Themalagen OI,KS,008KS09.zip
550163,D,AB,008,19.07.2013,Themalagen OI,KS,008KS08.zip
550162,D,AB,008,19.07.2013,Themalagen OI,KS,008KS07.zip
550161,C,AB,008,19.07.2013,Themalagen OI,KS,008KS06.zip
550160,D,AB,008,19.07.2013,Themalagen OI,KS,008KS05.zip
550159,E,AB,008,15.08.2014,Themalagen OI,KS,008KS04.zip
だから、ファイルはCであると言うことができます:\テスト\
とCでCSV:\ drawings.csv
私はcsvファイルに不足しているファイルをしたいが、言うことができますC:\ missing.csv
最初、私は変数に1枚の図面にしようとした時 :
$drawnr = '008KS09.zip'
$destcsv = "C:\missing.csv"
Set-Location C:\test
If(Test-Path -Path ${drawnr}) {
Write-Output "${drawnr}'.zip' exists"
} Else {
Write-Output "${drawnr}'.zip' doesnt exist"
${drawnr} | Export-Csv $destcsv -Append -NoTypeInformation
}
The output when having an existing and a non existsing drawing in the variable
これは完璧に動作しますが、イメージを参照してくださいが、入力としてCSVを使用すると、動作しません。
$sourcecsv = 'C:\drawings.csv'
$destcsv = 'C:\missing.csv'
Set-Location 'C:\test\'
Import-Csv $sourcecsv | Select-object -Property Tekeningnummer | ForEach {
Write-Output "${_} is the current object" #For Testing purpuse
If (Test-Path -Path ${_}) {
Write-Output "${_} does exist"
} Else {
Write-Output "${_} doesnt exist"
${_} | Export-Csv $destcsv -Append -NoTypeInformation
}
}
これは、ファイルがどれも存在しないことを私に伝え、すべてが存在していながら:
これは私がこれまで持っているものです。
は、PowerShellのの出力とmissing.csv
The picture of the output where all files are reported as non existend
何が '-ExpandProperty Tekeningnummer'オブジェクトを選択するか、またはその代わりに、各' $ {_}を '変更するために選択して、オブジェクト' -Property Tekeningnummer'を変更した場合'$ _。Tekeningnummer'。 –