我有一个目录,我想使用Robocopy.exe复制到另一个目录.
我的计划是从源目录的根目录中排除一些文件.实际上,我只想从目录的ROOT中排除.html文件.
诀窍是我正在使用/ E,它目前正在处理所有子文件夹.
因此,我的操作的当前结果是,如果我使用:
/E /XF "*.html"
Run Code Online (Sandbox Code Playgroud)
我将在网站范围内排除所有HTML文件.
有没有办法可以继续复制所有子文件夹,还可以使用XF从根目录中排除.html文件?
就像是:
/E /XF "c:\releases\website_source\*.html"
Run Code Online (Sandbox Code Playgroud) 我的powershell脚本运行时没有在日志文件中报告错误,但TFS 2015构建步骤报告错误.我需要进行特殊回拨吗?
这是一种新的样式构建,而不是基于XAML的构建.
脚本没有什么特别之处,它称为robocopy,它成功发生.
这是脚本:
[CmdletBinding()]
param (
[string]$localWorkspace,
[string]$destination
)
begin{}
process
{
try
{
## Script
$ServiceDirs = Get-ChildItem $localWorkspace -Recurse | ?{ $_.PSIsContainer -eq $True -and $_.Name -match "^Service$" } | % { $_.FullName }
$serviceCollection = @{}
foreach ($Service in $ServiceDirs)
{
$ServiceName = Get-ChildItem $Service | ?{$_.Name -match ".*\.csproj$" } | % { $_.BaseName }
$binpath = ($service + "\bin\release")
$serviceCollection.Add($serviceName , $binpath)
}
$serviceCollection.GetEnumerator() | % {
Write-Verbose "Processing service: $($_.key)"
$currentDestination = ($destination …
Run Code Online (Sandbox Code Playgroud) 有谁知道是否可以为Windows 2003下载最新的robocopy.最新版本提供/ DST选项,忽略由于BST(英国夏令时)而更改的时间戳.每次我们进行构建并同步我们的服务器时,我们去+ 1/-1小时需要几小时而不是几分钟,因为它看到一切都变了.
我注意到它自动包含在Vista/Win7中,但我下载的Resource工具包不包含Win Server 2003的新版robocopy.如果有一个地方可以从它下载它并且它是否也可以在Windows Server 2003上运行?
谢谢.
使用 Robocopy 从一个来源复制到多个目的地是否可能且安全?
我的意思是,在 bat 文件中是这样的:
ROBOCOPY source dest_1
ROBOCOPY source dest_2
Run Code Online (Sandbox Code Playgroud)
有什么副作用吗?
谢谢!
我正在使用 robocopy 批处理脚本将文件从一台服务器移动到另一台服务器,
但我需要它在完成后删除原始服务器上的文件
(这应该在您使用 /move 时发生)。
复制工作正常,但之后不会删除文件和文件夹。
谁能告诉我可能出了什么问题?
命令:
robocopy "\\Srv04\data\logs" "F:\Logs" /move /S /minage:8
Run Code Online (Sandbox Code Playgroud)
谢谢,
我有以下代码robocopy
以a 开头Process
.我还需要做数据库查询来确定每次robocopy
调用我需要复制的目录,所以我用来ProcessStartInfo
控制传递的参数.
internal class Program
{
private static void Main(string[] args)
{
using (var context = new MyDbContext())
{
IEnumerable<ProcessStartInfo> processInfos = GetProcessInfos(context, args[0]);
foreach (ProcessStartInfo processInfo in processInfos)
{
// How can I reuse robocopy Process instances and
// how can I dispose of them properly?
Process.Start(processInfo);
}
}
}
private static IEnumerable<ProcessStartInfo> GetProcessInfos(MyDbContext context,
string directory)
{
const string defaultRobocopyFormatString = "{0} {1} /mir /tee /fft /r:3 /w:10 /xd *Temp*"; …
Run Code Online (Sandbox Code Playgroud) 使用robocopy
命令我需要复制所有文件,但排除文件名中具有特定字符的文件?例如,复制所有包含下划线_的文件名的.jpg文件.
我试过这个命令,但它不起作用:
Robocopy C:\SourceFolder C:\DestFolder ^[^_]+.jpg$
可能是一件非常简单的事我在这里俯瞰,但是什么?
还有/ XF标志来排除某些文件类型,但是(如何)它可以用来排除文件名中包含下划线的文件名?
我有一个使用 Windows 表单的交互式 PowerShell,这意味着 PowerShell 脚本会在表单上显示一些控件,要求输入并最终robocopy
在用户单击按钮时运行。
这是一个显示问题的简单脚本。您可以复制代码,将其保存到 Power Sell 脚本并运行。它需要一个:\tmp\tmp文件夹才能成功运行,请参阅CopyFolder函数。
function createdMainForm {
$mainForm = New-Object System.Windows.Forms.Form
$btn = New-Object System.Windows.Forms.Button
$btn.Text = "RoboCopy"
#register click event
$btn.add_click({Add_click})
$mainForm.Controls.Add($btn)
$mainForm.ShowDialog()
}
#click event
function Add_click() {
CopyFolder
}
function CopyFolder() {
$sourseFolder = "C:\tmp\tmp"
$targetFolder = "C:\tmp\tmp2"
$Logfile = "c:\tmp\a.log"
robocopy $sourseFolder $targetFolder /tee /log:$Logfile
}
function ReadMode() {
Write-Host Mode [1 for GUI mode]
$mode = Read-Host
if ($mode -eq 1) {
createdMainForm
} else {
CopyFolder …
Run Code Online (Sandbox Code Playgroud) 问题: Robocopy 无法以其他用户身份启动Start-Process
该脚本在具有两个文件位置权限的帐户上运行时运行良好,但它似乎不接受-credential
参数。
不确定我的格式是否不正确,或者我做错了什么。
# Create Password for credential
$passw = convertto-securestring "Password" -asplaintext –force
# Assembles password into a credential
$creds = new-object -typename System.Management.Automation.PSCredential -argumentlist "DOMAIN\Username", $passw
# Select a source / destination path, can contain spaces
$Source = '\\Source\E$\Location'
$Destination = '\\Destination\Location Here'
# formats the arguments to allow the credentials to be wrapped into the command
$RoboArgs = "`"$($Source)`" `"$($Destination)`"" + " /e /Copy:DAT"
# Started Robocopy with arguments and credentials
Start-Process …
Run Code Online (Sandbox Code Playgroud) 有谁知道如何暂停和恢复 robocopy 任务。我正在服务器之间移动大量文件,希望在两天内完成移动,但不知道是否可以暂停,然后在重新连接到网络后恢复任务?
所以你的问题是,有谁知道一旦你的 robocopy 任务开始,如何暂停然后恢复它?
谢谢!
robocopy ×10
powershell ×3
.net ×1
azure-devops ×1
batch-file ×1
c# ×1
cmd ×1
command-line ×1
directory ×1
dst ×1
logging ×1
regex ×1
root ×1
tfs ×1
tfs-2015 ×1
windows ×1
winforms ×1