文件从一个文件夹传输到另一个

时间:2019-06-10 11:24:16

标签: powershell

我想知道是否有人可以帮助我解决将文件从C:驱动器移动到网络驱动器的问题。

因此,在工作中,我们有一台输出.txt文件的机器。例如,这些文件包含有关宠物的数据,因此在该文件夹中,我有数百个文件的名称分别类似于dogs_123456_10062019.txt然后是cats_123457_10062019.txt

现在,第一个数字是参考编号,而不是创建的每个.txt文件的更改,另一个是日期,因为说我每天可以拥有数百个,参考和日期对于传输来说并不重要因为文件仍然包含所有这些信息

现在,我的网络文件夹结构为Y:dogsY:cats,并且想要一个自动脚本,该脚本将所有狗和猫文本文件传输到相应的网络驱动器。

网络驱动器名称无法更改,因为监视软件根据文本文件中的信息输出图表。

这可能吗?希望我已经解释了自己

欢呼

1 个答案:

答案 0 :(得分:0)

如果文件夹名称与文件名称匹配,则可以执行以下操作:

$SourceFolderPath = "C:\Source\"  
$DestinationFolderPath = "Y:"  
$FileList = Get-ChildItem -Path $SourceFolderPath  

foreach($File in $FileList){  
    $FolderName = ($File.Name | Select-String -Pattern ".+?(?=_)").Matches.Value 
    $File | Move-Item -Destination "$DestinationFolderPath\$FolderName"  
}

如果文件夹名称与文件名不匹配,则需要手动创建一个字典,该字典应该去哪里,然后将其翻译

上面的代码显然不是企业级的东西:)