xcopy "J:My NameFILES IN TRANSITJOHN20101126Missing fileShapes.atc" "C:Documents and SettingsHis nameApplication DataAutodeskAutoCAD 2010R18.0enuSupport" /Q /R /S /Y
This works for this simple file copying task because of
- specifying just the destination directory instead of destination file and
- ending destination directory with a backslash which is very important as otherwise XCOPY would even with
/I
prompt for file or directory on copying just a single file.
与此无关的其他参数是:
/Q
... quiet
/Y
... yes (OS language independent) on overwrite existing file
/R
... overwrite also read-only, hidden and system file
/S
... from specified directory and all subdirectories.
在这里,我不知道是否真正需要<代码>/S,因为不清楚这是否只是J:My nameFILES IN TRANSITJOHN20101126Missing fileShapes.atc
。 应复制或所有<代码>Shapes.atc在任何地方的名录树中发现的J:My nameFILES IN TRANSITJOHN20101126 遗失档案编码>。
对这些参数的解释可通过以下方式加以解读:打开指挥迅速窗口,从这个窗口中运行:xcopy /?
,以获得XCOPY的帮助。
但是,所提供解决办法中没有一个用于复制档案任务,而单一档案应与源文档相仿,但由于目前的日期和时间,在档案延期之前就添加了不同的档案名称。
来文方档案中可以有隐藏的或系统特性,其中不包括使用<>COPY指令。
设定时间档的批量文件也应在视窗XP上工作,该台将ROBOCOPY排除在外,因为违约不能在Windows XP上查阅。
批量文档应当处理任何档案,包括非典型档案,如<代码>.gitconfig或.htaccess
,这些档案都是没有档案延期的,其起点是将其藏在*nix系统中。 视窗指挥处理员对档案等档案进行解释,这些档案没有档案名称,只是档案延期,因为最后一点是档案的延伸,最后一点是档案名称。
关于完整的任务说明和最后的、经过充分评论的解决方案,见。 在“紫外线”中创建文档备份 Edit论坛。
https://stackoverflow.com/a/35319710/3074564>,Patrick s ,,>Interociter Businesstor s和,CharlesB s 解决办法不奏效,因为使用<代码/Y,如果没有目的地,就无法避免档案或目录。
https://stackoverflow.com/a/43041/3074564>Andy Morris 和grenix s Solutionst t 可用于单一档案复制任务,因为目的地必须是目的地名称,而不是目的地名录名称。 目的地名录与来源目录相同,但目的地档案名称与来源档案名称不同。
DosMan s和Govert s 解决办法根本不能从某一点开始就档案工作,而没有档案延期。
例如,指挥
xcopy C:Temp.gitconfig C:Temp.gitconfig_2016-03-07_15-30-00* /C /H /K /Q /R /V /Y
产生以下执行错误信息:
English: Could not expand second file name so as to match first.
German: Zweiter Dateiname konnte nicht so erweitert werden, dass er zum ersten passt.
最后,Denis Ivin s 解决办法有限制,即必须知道操作系统语言的附属特性,即自动回答OR目录。
因此,我想到在德国Windows或上为<<<<<>
而在英文Windows或上<上上上<德国Windows>或上<<<>>>>>>>?
, ......>。 视窗自动使用。
确实可以确定自动回答迅速的语文属性。
一个黑板用来从即时文本中获取语文附属信件,而没有真正复制任何档案。
<>XCOPY指挥部用于开始复制批量档案,以复制临时档案,并将档案延期作为目的地档案。 如果在临时档案中没有这种名字的档案,而这种档案不太可能。
<NUL 装置的手稿被作为投稿人,用于XCOPY,导致在速成XCOPY两倍后中断复制过程。
这一产出的处理方式是FOR loop,从开端母体开始,先从第一行开始。 这是第二大特征界定了用于确定目的地为档案的文字。
此处是使用XCOPY的批量文档,其编号是确定自动对文档或目录进行答复的必要信函,从而在源文档中以与源文档相同的目录制作一个时间封存的单一档案副本,即使来文方档案是隐蔽的或系统档案,即使来文方档案从某一点开始,没有档案延期。
@echo off
setlocal EnableExtensions DisableDelayedExpansion
rem Batch file must be started or called with name of a single file.
if "%~1" == "" exit /B
for /F "delims=*?" %%I in ("#%~1#") do if not "%%I" == "#%~1#" exit /B
if not exist "%~1" exit /B
if exist "%~1" exit /B
rem Determine the character needed for answering prompt of
rem XCOPY for destination being a file and not a directory.
del /F "%TEMP%\%~n0.tmp" 2>nul
for /F %%I in ( %SystemRoot%System32xcopy.exe "%~f0" "%TEMP%\%~n0.tmp" ^<nul ) do (
set "PromptAnswer=%%I"
setlocal EnableDelayedExpansion
if "!PromptAnswer:~0,1!" == "(" set "PromptAnswer=!PromptAnswer:~1,1!" & goto CopyFile
endlocal
)
echo ERROR: Failed to determine letter for answering prompt of XCOPY.
exit /B
:CopyFile
endlocal & set "PromptAnswer=%PromptAnswer%"
rem This is a workaround for files starting with a point and having no
rem file extension like many hidden files on *nix copied to Windows.
if "%~n1" == "" (
set "FileNameWithPath=%~dpx1"
set "FileExtension="
) else (
set "FileNameWithPath=%~dpn1"
set "FileExtension=%~x1"
)
rem Get local date and time in region and language independent format YYYYMMDDHHmmss
rem and reformat the local date and time to format YYYY-MM-DD_HH-mm-ss.
for /F "tokens=2 delims==." %%I in ( %SystemRoot%System32wbemwmic.exe OS get LocalDateTime /format:value ) do set "LocalDateTime=%%I"
set "LocalDateTime=%LocalDateTime:~0,4%-%LocalDateTime:~4,2%-%LocalDateTime:~6,2%_%LocalDateTime:~8,2%-%LocalDateTime:~10,2%-%LocalDateTime:~12,2%"
rem Do the copy with showing what is copied and with printing success or
rem an error message if copying fails for example on sharing violation.
echo Copy "%~f1" to "%FileNameWithPath%_%LocalDateTime%%FileExtension%"
for /F %%I in ( echo %PromptAnswer% ^| %SystemRoot%System32xcopy.exe "%~f1" "%FileNameWithPath%_%LocalDateTime%%FileExtension%" /C /H /K /Q /R /V /Y ) do set "FilesCopied=%%I"
if "%FilesCopied%" == "1" (echo Success) else echo ERROR: Copying failed, see error message above.
这一批量代码在德国Windows XP SP3 x86和英国Windows 71 x64上测试。
见。 在“紫外线”中创建文档备份 Edit Forum for a similar, full comment batch file Interpretation all aspects of the batch Code.
为了了解所使用的指挥和他们如何工作,打开指挥迅速窗口,在那里执行以下指挥,并非常仔细地阅读了每个指挥员所展示的所有求助网页。
del /?
echo /?
exit /?
for /?
goto /?
if /?
rem /?
set /?
setlocal /?
wmic OS get /?
xcopy /?
关于