在 Windows 7 上运行的 VS2010 中,在 postbuild 事件中将文件复制并始终覆盖到目标目录的最佳方法是什么。
目前我正在使用
robocopy $(SolutionDir) $(TargetDir) "Morning Report Template.xlsm"
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用 Xcopy(带 /Y),甚至只是简单的副本。但我还没有让它正常工作。要么我收到构建错误,例如“命令“robocopy C:\Working\Projects\SAFEXQueryForm\C:\Working\Projects\SAFEXQueryForm\SAFEXQueryForm\bin\Release\“Morning Report Template.xlsm””以代码 1 退出。” 否则它只是不复制。
我需要它每次都复制和覆盖,没有构建错误,我也更愿意更改我知道 Robocopy 无法做到的文件名。
我究竟做错了什么?什么是最好的方法来做到这一点?
需要 xcopy 命令的帮助,
我有一个目录结构,想复制其中的一些内容。我正在使用 xcopy 做同样的事情,但遇到了麻烦。我的目录结构如下。
I:\Foo\
|
|--coo-->c1-->c2
|--goo-->g1-->g2
|--boo-->b1-->b2
|--fow-->f1-->f2
Run Code Online (Sandbox Code Playgroud)
它又包含子文件夹和文件。我想将 coo 及其所有子文件夹复制到另一个位置,我的 xcopy 命令是,
xcopy I:\Foo\coo e:\temp /e/c/t/h/r/y /s
执行此命令会从 c1-->c2 复制文件夹和子文件夹,但文件夹 coo 丢失。
-问候,曼珠
所以我试图从我的应用程序复制数据的备份。我编写了下面的批处理脚本来执行此操作,但该脚本需要永远运行。
我在凌晨 1 点启动批处理脚本,它在上午 8:30 仍在运行。这对我来说似乎很奇怪,因为当我在 Windows 文件资源管理器中手动复制应用程序的备份时,它会在 7-15 分钟内完成复制,具体取决于网络流量。
我是REM线%backupcmd% "C:\Program Files\App\App Server\Data\Backups" "%drive%\"。这是我用来备份数据的原始批处理脚本行,直到一个月前它都有效运行。
因此,我尝试使用xcopy命令/d,因此它只会复制在该日期(当前日期)当天或之后更改的源文件,并且我要复制的备份是在每天晚上 12:01 进行的,并且复制备份脚本启动凌晨 1 点。
任何有关如何加快速度的建议xcopy将不胜感激。如果您认为我powershell也应该用于此任务,我也愿意接受该选项。
@echo off
for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j
set yyyy=%ldt:~0,4%
set mm=%ldt:~4,2%
set dd=%ldt:~6,2%
:: variables
set drive=Z:\RootSoft\App\Data Backups
set backupcmd=xcopy /s /c /d /e /h /i /r /y /f /z
echo ### Backing up …Run Code Online (Sandbox Code Playgroud) 我想将目录中的文件和文件夹复制到另一个文件夹中,但子文件夹除外,包含该文件的子文件夹,例如,我有大量用于node_modules目录的文件,例如100Mb的文件具有50K +,不需要复制。
我试过这样使用xcopy:
xcopy . c:\inetpub\CIVEBuildCentral\UI\. /Y /S /EXCLUDE:CIVE\UI\elist.txt
Run Code Online (Sandbox Code Playgroud)
和elist.txt包含:
\node_modules\
Run Code Online (Sandbox Code Playgroud)
但是没有运气,它的语法确实令人讨厌,在这种情况下,签入这样一个无用的文件并不是最佳选择。
任何想法如何解决这个问题?
我有一个批处理文件,它循环文本文件的内容并使用xcopy命令复制特定文件.
这是片段.
for /f %%a in (FilesToCopy.txt) do (
xcopy ..\..\Common\%%a Common\%%a /i /d /c /v /s /y /f
xcopy Common\%%a ..\..\Common\%%a /i /d /C /v /s /y /f
)
Run Code Online (Sandbox Code Playgroud)
%% a包含像Images\image1.jpg Images\image2.jpg这样的值
因此当执行xcopy时,它看起来像
xcopy ..\..\Common\Images\image1.jpg Common\Images\image1.jpg /i /d /c /v /s /y
Run Code Online (Sandbox Code Playgroud)
执行后,它会提示此消息
Does Common\Images\image1.png specify a file name
or directory name on the target
(F = file, D = directory)?
Run Code Online (Sandbox Code Playgroud)
似乎/ i命令没有工作或我在这里遗漏了一些东西来压制上面的消息.
对于像这样的C#控制台应用程序,使用xcopy或robocopy会更好吗?此外,xcopy是否暂停,直到复制完成?
// copy web project to temp
Process proc = new Process();
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.FileName = @"C:\WINDOWS\system32\xcopy.exe";
//proc.StartInfo.Arguments = @"C:\Users\Aron\Pictures\sql-help C:\temp\633965882226105579 /E /I";
proc.StartInfo.Arguments = string.Format("{0} {1} /E /I", TemplateDemoSiteFolder, SitePath);
proc.Start();
Thread.Sleep(9000); // pause for 9 seconds -not very safe though
Run Code Online (Sandbox Code Playgroud) 如何使用 Windows 命令将文件夹结构和文件复制到目标位置?
我尝试了以下操作,但未复制文件夹 test,而是复制了所有文件夹和文件:
xcopy "C:\Users\hpara\Desktop\Test" "C:\Users\hpara\Desktop/Foo" /E /H /I
Run Code Online (Sandbox Code Playgroud) 尝试使用xcopy,但当我把它放在批处理脚本中时:
Xcopy "C:\Users\%USERNAME%\Desktop\A" "C:\Users\%USERNAME%\Desktop\B" /E
Run Code Online (Sandbox Code Playgroud)
并运行它...它一遍又一遍地循环.但是,如果我将该行粘贴到命令行并按Enter键就可以了.为什么这样,我该如何解决这个问题?Robocopy在脚本中运行良好.
我已将 xcopy 命令与 /EXCLUDE 开关一起使用,但为此我必须创建另一个包含要排除的文件列表的文件。下面是我正在使用的 xcopy 命令...
xcopy /EXCLUDE:C:\AA\excludedfiles.txt C:\AA d:\Models\Broker\NB\MOTNB0056
/S /E
Run Code Online (Sandbox Code Playgroud)
其中 exceptedfiles.txt 包含我要排除的文件的名称。
C:\AA 是源,d:\Models\Broker\NB\MOTNB0056 是目标。
但是我不想为其制作额外的文件(excludedfiles.txt)。建议通过仅给出文件路径来排除文件的命令。
我正在尝试将文件从 E:/bin/Debug/ 复制到 E:/New 使用xcopy. 我的语法是
xcopy /s "E:\bin\Debug*.*E:\New"
Run Code Online (Sandbox Code Playgroud)
在 Windows 10 上。
它返回
错误 参数数量无效
或有时
新未找到无效路径
. 请帮我找出我的错误。我究竟做错了什么?
xcopy ×10
cmd ×5
robocopy ×3
batch-file ×2
copy ×2
windows ×2
c#-3.0 ×1
command-line ×1
windows-xp ×1