Can';无法在Powershell中复制该文件
我写的小脚本,复制文件到特殊的文件夹。问题在于复制命令。我声称我使用了错误的语法进行复制Can';无法在Powershell中复制该文件,powershell,Powershell,我写的小脚本,复制文件到特殊的文件夹。问题在于复制命令。我声称我使用了错误的语法进行复制 $files = dir -r -path "Z:\graphics\" -i *.* foreach ($file in $files) { copy -path $file Z:\SatData\graphics\LastDays\ } 我还想创建一个脚本来计算1天前创建的文件的大小。我试着做下一步: $today = Get-Date $now = $today.Day $now $la
$files = dir -r -path "Z:\graphics\" -i *.*
foreach ($file in $files)
{
copy -path $file Z:\SatData\graphics\LastDays\
}
我还想创建一个脚本来计算1天前创建的文件的大小。我试着做下一步:
$today = Get-Date
$now = $today.Day
$now
$lastdays = $today.AddDays(-1)
$lastdays
$files = dir -r -path "Z:\graphics\" -i *.*
foreach ($file in $files)
{
if ($file.CreationTime -eq $lastdays) # if file was create yesterday calculate it
{
$sum
$sum = $sum + $file.length
$sum/1MB
$file.CreationTime
}
else {}
}
脚本没有找到昨天创建的任何文件,我现在看到了任何输出。只有当设置为非-eq,而是-lt时才有效
但是昨天创建的文件存在于文件夹中对于第一部分,请使用$file.FullName而不是$file。对于第一部分,请使用$file.FullName而不是$file。在复制语句中,您需要引用实际路径,因为
dir
正在返回一个fileinfo对象。例如:copy-path$file.FullName Z:\SatData\graphics\LastDays\
问题的第二部分是日期,而不是日期。尝试类似于$dayed=(get date).adddays(-1).date
的方法,并将比较更改为if($file.CreationTime.date-eq$dayed)
您需要使用date属性,因为它将比较时间设置为00:00:00。如果不匹配,则永远不会匹配。在复制语句中,您需要引用实际路径,因为
dir
正在返回一个fileinfo对象。例如:copy-path$file.FullName Z:\SatData\graphics\LastDays\
问题的第二部分是日期,而不是日期。尝试类似于$dayed=(get date).adddays(-1).date
的方法,并将比较更改为if($file.CreationTime.date-eq$dayed)
您需要使用date属性,因为它将比较时间设置为00:00:00。如果你不这样做,你将永远无法匹配。使用管道:
dir -r -path Z:\graphics | copy-item -dest Z:\SatData\graphics\LastDays
要计算文件大小(MB),请执行以下操作:
使用管道:
dir -r -path Z:\graphics | copy-item -dest Z:\SatData\graphics\LastDays
要计算文件大小(MB),请执行以下操作:
第一个对我有效,你能发布准确的错误消息吗?对我不起作用:(文本表示文件或其名称中存在语法错误当你将
-whatif
参数添加到复制命令时会发生什么情况?第一个对我有效,你能发布准确的错误消息吗?对我不起作用:(文本表示文件或其名称中存在语法错误当您将-whatif
参数添加到您的复制命令时会发生什么情况?我尝试使用$fle.FullName执行此操作,但它现在可以工作。屏幕截图位于上方我尝试使用$fle.FullName执行此操作,但现在可以工作。屏幕截图位于Shay Levy上方,您的第二个示例do现在开始工作它是blaim可以评估-eqlooks就像我丢失了一个括号一样,现在更新它。Shay Levy,你的第二个例子现在开始工作它是blaim可以评估-eqlooks就像我丢失了一个括号一样,现在更新它。