将今天创建的所有文件从网络位置移动到本地驱动器

时间:2015-03-08 14:53:55

标签: windows powershell batch-file

使用我下面给出的脚本,我只是想将今天创建的所有.dat文件从源到目标剪切粘贴,其中source是网络路径。

@echo off

set datetime=%date:~0,2%-%date:~3,2%-%date:~6,4%_%time:~0,2%-%time:~3,2%

mkdir "D:\data\Backup\%datetime%"

net use L: \\10.xx.xx.xxx\shared\files /persistent:no
set source=L: \\10.xx.xx.xxx\shared\files

forfiles /P "%source%" /M *.dat /D +0 /C "cmd /c move @path D:\data\Backup\%datetime%"

net use L: /delete /y

但是......投掷ERROR: The directory name is invalid.

我不明白为什么FORFILES不接受我的网络路径作为来源。

请有人帮帮我吗?

我也没有使用PowerShell的问题。

1 个答案:

答案 0 :(得分:2)

在PowerShell中:

$src = '\\10.xx.xx.xxx\shared\files'
$dst = "D:\Data\Backup\$(Get-Date -f 'yyyyMMdd')"
mkdir $dst

Get-ChildItem $src -File | Where {$_.LastWriteTime -gt (Get-Date).Date} | Copy-Item $dst