Robocopy或Batch文件将整个文件夹复制到每个配置文件&%s localappdata%请

时间:2015-06-20 10:04:53

标签: batch-file windows-server

所以我对批处理文件很新,但是为了很多目的使用命令行,虽然不是我目前需要的规模....

我的问题是我在我们的一台服务器上安装了一个应用程序(实际上是5台服务器.1个主服务器和4个额外但几乎相同的服务器),我发现这个应用程序将一个文件夹写入\ appdata \ local \目录,如果由服务器上的某个客户端用户运行,它将在运行时出错,因为他们没有对C:\驱动器的写权限。

所以......我测试并确认应用程序运行正常,如果我只是将文件夹复制到配置文件的%LOCALAPPDATA%我正在测试......事情是...... 。只有一台服务器上有很多配置文件,我不想手动将这个文件夹复制到所有5台服务器上的所有配置文件......我会整夜带我...

有人可以帮助我使用100%正常工作的代码在批处理文件中执行此操作吗?我已经发布了帖子后发帖,没有其他人似乎有这个问题,或者他们想要复制特定文件,而不是我需要的整个文件夹/子文件夹,我非常谨慎地修改其中一个其他答案,因为我不太了解,以确保我不会犯一个耗时的错误......

提前感谢您提供任何帮助!

1 个答案:

答案 0 :(得分:0)

我知道您正在寻找批处理文件,但我认为您可以使用PowerShell快速解决此问题。

$source = "C:\temp"
$servers = "Server1","Server2","Server3"

foreach($node in $servers)
{
    $TargetFolders = Resolve-Path "\\$node\C$\Users\*\AppData\Local"

    foreach($destination in $TargetFolders)
    {
        Robocopy "$source" "$destination" /e /r:0 /w:0
    }
}

在生产系统上运行之前测试一下。我打了它而没有自己测试。