我使用PowerShell检查文件夹位置是否存在某些文件。如果它们都存在,那么脚本将只声明0个文件丢失,如果丢失了文件,它将告诉你哪些文件丢失。
我检查的文件在文件名末尾有一个日期。我需要我的脚本忽略文件名的那一部分或读取日期部分,只要文件名的其余部分存在就不会返回任何错误。
文件名示例:0106-pos-20170917123002.data
我真正感兴趣的文件名是0106-pos-.data
。
这是我的剧本:
$storenum = Read-Host -Prompt "Store number (include leading zero)"
#$mbo_ip = Read-Host -Prompt "Back office IP"
$missing = 0
$sdc_pump = "\\10.xxx.xxx.xxx\gkretail\sdc\stores\device-pump"
$pos_data_file = $storenum + "-pos-"
$sdc_path = $sdc_pump + "\" + $pos_data_file
"--"
"Device Pump: config\parameter files"
if (-not $(Test-Path $sdc_path\.data)) {
$missing++; "$sdc_path\.data not present"
}
"=="
"Store $storenum is missing $missing entries"
"=="
if (0) {
}
答案 0 :(得分:0)
另一个叫Curtis的人(来自Powershell论坛)帮助我使这个脚本工作,所以我在这里分享。
我试图让外卡选项正常工作,但是无法做到正确,但柯蒂斯管理它。
$storenum = Read-Host -Prompt "Store number (include leading zero)"
$missing = 0
$sdc_pump = "\\10.xxx.xxx.xxx\gkretail\sdc\stores\device-pump"
$pos_data_file = $storenum + "-pos-"
$sdc_path = $sdc_pump + "\" + $pos_data_file
"--"
"Device Pump: config\parameter files"
if (-not (Get-ChildItem "$sdc_path*.data")) {
$missing++
"$sdc_path.data not present"
}
"=="
"Store $storenum is missing $missing entries"
"=="
此脚本现在可以正常工作。 我仍然要感谢你们在我的问题上花费的任何帮助和时间。