【发布时间】:2014-03-26 20:44:10
【问题描述】:
我正在编写一个 PowerShell 2 脚本,该脚本将读取 CD-ROM 或 DVD 磁盘并复制其内容 - 需要注意的是,我需要检查某些文件类型,而不是使用该文件类型复制任何内容。到目前为止,我有这个工作:
$user = read-host "Enter owner's username:"
$drv = read-host "Enter Optical Drive letter (no colons or slashes):"
$list = Import-Csv badtypes.csv
$badlist = @()
$Extns = @()
ForEach($xt in $list)
{
$Extns += "."_$xt.Extention
}
$filepath = $drv +":\"
$cnts = Get-ChildItem $filepath -r
ForEach($itm in $cnts)
{
if($itm.PSis.Container)
{
#write new folder name in user's temporary folder
}
else
{
CheckFile $itm
}
}
Function CheckFile($fl)
{
$fildextension = [System.IO.Path]::GetExtention($fl)
$badfound = 0
ForEach($a in $Extns)
{
if($a -eq $fildextension)
{
$badfound = 1
}
}
if(badfound -eq 0)
{
write-host "File Type Acceptable:" $fl
# write file to proper place in the user's temporary folder
}
}
我在获取在正确位置创建的空文件夹并将(可接受的)文件复制到正确位置时遇到问题。
任何帮助将不胜感激!
【问题讨论】:
-
您是否考虑过为此使用 ROBOCOPY?它是高度可配置的,返回可用的退出代码和日志文件。
标签: file powershell copy