что такое команда командной строки windows для копирования файлов?

<p>что такое команда командной строки windows для копирования файлов?</p><p>мне нужно переместить файл из местоположения a в местоположение b. также, если папка для местоположения b не существует, я хочу, чтобы он был создан.</p><p>мне нужно, чтобы это была командная строка, чтобы я мог автоматизировать это.</p><p>версия windows - xp.</p>

<p>команда <code>xcopy</code> - это то, что вы ищете. пример:</p><pre><code>xcopy source destination /e /c /h /r /k /o /y </code></pre><p>приведенная выше команда скопирует источник в место назначения, файлы и каталоги (включая пустые), не остановится при ошибке, скопирует скрытые и системные файлы, перезапишет файлы только для чтения, сохранит атрибуты и информацию о владельце/acl, а также подавит запрос на перезапись существующих файлов назначения.</p><pre><code>/e copies directories and subdirectories, including empty ones. same as /s /e. may be used to modify /t. /c continues copying even if errors occur. /h copies hidden and system files also. /r overwrites read-only files. /k copies attributes. normal xcopy will reset read-only attributes. /o copies file ownership and acl information. /y suppresses prompting to confirm you want to overwrite an existing destination file. </code></pre><p>для получения дополнительной информации введите <code>xcopy /?</code> и ваша командная строка.</p>

<p>использование <i>md</i> создать папку (это нормально, если она уже существует)</p><p>использование <i>копия</i> или <i>шаг</i> для файлов и <i>хсору</i> для папок</p>

<p>в пакетном файле:</p><pre><code>if not exists locationb\nul mkdir locationb copy locationa\file locationb </code></pre><p><code>if not exists</code> проверяет параметр, чтобы увидеть, существует ли он, но он работает только с файлами. чтобы проверить наличие <em>directory</em>, вам нужно найти "псевдофайл" с именем "nul" - проверка существования этого файла всегда будет возвращать true, если каталог существует.</p><p>строка копирования копирует файл с именем <code>file</code> из каталога <code>locationa</code> в <code>locationb</code> и именует файл одинаково. если вы хотите переименовать файл одновременно, вы можете сделать это тоже:</p><pre><code>copy locationa\file locationb\newfilename </code></pre>

<p>если вы хотите синхронизировать копию и другие расширенные функции (игнорируйте определенные папки, включайте только определенные символы подстановки), посмотрите на <code>robocopy</code>. включено в vista и более поздние версии, необязательно (из инструментов набора ресурсов) в более ранних версиях.</p>

<p>используйте robocopy, если вы создаете сценарии резервного копирования. xcopy устарела и, скорее всего, будет выведена из употребления в ближайшем будущем. robocopy может делать все, что может xcopy. это также более гибкий и надежный. создание сценариев с помощью robocopy поможет им в будущем.</p><hr><ol> <li> <p>используйте robocopy для простого копирования папок. команда robocopy заменяет команду xcopy. он может быстро копировать целые папки, не заботясь об определении содержимого. например, чтобы скопировать все содержимое каталога c:\tools в новую папку d:\backup\tools, введите следующее:</p> <pre><code>robocopy c:\tools d:\backup\tools /e </code></pre> <p>модификатор/e указывает robocopy включить все подкаталоги. это включает в себя пустые папки. robocopy автоматически скопирует скрытые и системные файлы. это создаст новые каталоги, если они не существуют в целевом местоположении.</p> </li> <li> <p>зеркальное отображение каталога. зеркальное отображение каталога отлично подходит для создания резервных копий. опция зеркальной копии robocopy скопирует все содержимое из источника в место назначения. затем он удалит все, что не существует в источнике. это гарантирует, что ваша резервная копия содержит только самые последние версии ваших файлов. например, для зеркального отображения c:\users\мои документы в d:\backup\my documents введите следующее: [4]</p> <pre><code>robocopy "c:\users\my documents" "d:\backup\my documents" /mir </code></pre> <p>эта функция сохранит все разрешения исходных файлов.</p> </li> <li> <p>включить перезапуск. вы можете включить возможность перезапустить процесс в случае разрыва соединения в середине копии.</p> <pre><code>robocopy "c:\users\my documents" "d:\backup\my documents" /z </code></pre></li> <li> <p>записать процесс копирования. robocopy позволяет создать файл журнала. это может помочь вам точно определить проблемы или создать архив того, что было скопировано.</p> <pre><code>robocopy "c:\users\my documents" "d:\backup\my documents" /log+:<filename>.txt </code></pre> <p>модификатор/log + добавит существующий файл журнала вместо его перезаписи. если вы предпочитаете просто перезаписать старый файл журнала, используйте /log:.txt.</p> </li> </ol>

<p>xcopy создаст структуру каталогов для вас. хитрость заключается в том, чтобы использовать параметр/i и добавить звездочку в конце имени файла, чтобы xcopy решил, что вы копируете несколько файлов, в противном случае он спрашивает, является ли целевое имя нужным вам именем файла или нужным именем каталога. , например.</p><pre><code>xcopy /i c:\<sourcedir>\<sourcefile> c:\<targetdirthatdoesnotexist> </code></pre><p>я бы также посмотрел на robocopy, но вам нужно получить его из комплекта ресурсов, поскольку он не доступен в windows до vista.</p>