Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell还原文件的早期版本_Powershell_Restore - Fatal编程技术网

Powershell还原文件的早期版本

Powershell还原文件的早期版本,powershell,restore,Powershell,Restore,我们被病毒攻击,它将所有常见的文件扩展名改为.kmybamf(.txt>>.txt.kmybamf),如果我删除.kmybamf,文件就会损坏 所以我列出了所有被破坏的文件。现在我试图用以前的版本覆盖它们。有人知道如何在Powershell中做到这一点吗 我可以在cmd中完成类似的操作 subst X: \localhost\D$\@GMT-2011.09.20-06.00.04_Data robocopy Z: D:\Folder\ /E /COPYALL 但我想在Powershell中一次

我们被病毒攻击,它将所有常见的文件扩展名改为.kmybamf(.txt>>.txt.kmybamf),如果我删除.kmybamf,文件就会损坏

所以我列出了所有被破坏的文件。现在我试图用以前的版本覆盖它们。有人知道如何在Powershell中做到这一点吗

我可以在cmd中完成类似的操作

subst X: \localhost\D$\@GMT-2011.09.20-06.00.04_Data
robocopy Z: D:\Folder\ /E /COPYALL
但我想在Powershell中一次性完成,它必须是一个“if.kmybamf found,then restore previous version”。而且Powershell似乎没有这样的cmdlet来还原文件或文件夹的早期版本

$fileList = Get-Content -Path "\\localhost\D$\@GMT-2011.09.20-06.00.04_Data"
$destinationFolder = "D:\Folder\"

foreach ($file in $fileList)
{
    Copy-Item -Path $file -Destination $destinationFolder -Force
}
这也会起作用,但我发现它可读性较差

Get-Content -Path "\\localhost\D$\@GMT-2011.09.20-06.00.04_Data" | ForEach-Object { Copy-Item -Path $_ -Destination "D:\Folder" -Force }

获取内容用于从文件中读取文本,要从文件夹中读取文件,必须使用Get Childitem

谢谢,我将尝试此方法。但“来源”和“目的地”并不是固定的。所以它一定在我找到“.kmybamf”的任何地方,然后执行还原。您能在问题中添加.kmybamf文件列表的摘录吗?