xcopy файл, переименовать, подавить сообщение «Does xxx указать имя файла …»

Это кажется довольно простым, и, возможно, я просто не замечаю правильный флаг , но как бы я, в одной команде, скопировать файл из одного каталога в другой и переименовать его в целевой каталог? Вот моя команда:

if exist "bin\development\whee.config.example" if not exist "TestConnectionExternal\bin\Debug\whee.config" xcopy "bin\development\whee.config.example" "TestConnectionExternal\bin\Debug\whee.config" 

Это подсказывает мне следующее:

Проверяет ли TestConnectionExternal \ bin \ Debug \ whee.config имя файла или имя каталога на целевой (F = файл, D = каталог)?

Я хочу подавить это приглашение; ответ всегда F

Не используйте xcopy , используйте вместо этого copy , у нее нет этой проблемы.

xcopy обычно используется при выполнении рекурсивных копий нескольких файлов / папок или когда вам нужны функции проверки / подсказки, которые он предлагает. Для одиночных копий файлов команда copy работает очень хорошо.

я использую

 echo f | xcopy /f /y srcfile destfile 

обойти его.

Другой вариант – использовать подстановочный шаблон назначения. Обратите внимание, что это работает только в том случае, если исходные и целевые имена файлов будут одинаковыми, поэтому, хотя это не решит конкретный пример OP, я подумал, что это стоит того.

Например:

 xcopy /y "bin\development\whee.config.example" "TestConnectionExternal\bin\Debug\*" 

создаст копию файла «whee.config.example» в каталоге назначения без запроса файла или каталога.

Обновление : Как упоминалось @chapluck:

Вы можете изменить "* " на "[newFileName].*" . Он сохраняет расширение файла, но позволяет переименовать. Или более хаки: "[newFileName].[newExt]*" чтобы изменить расширение

В XCOPY есть некоторая недокументированная функция. вы можете использовать:

xcopy “bin \ development \ whee.config.example” “c: \ mybackup \ TestConnectionExternal \ bin \ Debug \ whee.config *”

Я тестировал его только сегодня. 🙂

Просто перейдите по адресу http://technet.microsoft.com/en-us/library/bb491035.aspx

Вот то, что ОСНОВНОЙ ВЫБОР «… Если Destination не содержит существующий каталог и не заканчивается обратным слэшем (), появляется следующее сообщение: …

Определяет ли назначение имя файла или имя каталога в целевом файле (F = файл, каталог D =)?

Вы можете подавить это сообщение с помощью параметра командной строки / i, что приводит к тому, что xcopy предполагает, что конечным пунктом является каталог, если источником является более одного файла или каталога.

Взял меня немного, но все, что требуется, это RTFM.

Итак, для этого есть простое решение. Это, по общему признанию, неудобно, но оно работает. xcopy не будет запрашивать, будет ли пункт назначения каталогом или файлом, если новый файл (имя файла) уже существует. Если вы предшествуете команде xcopy с простым эхом в новое имя файла, она перезапишет пустой файл. пример

 echo.>newfile.txt xcopy oldfile.txt newfile.txt /Y 

Это из ответа Bills.

Просто быть по-настоящему понятным для других.

Если вы копируете один файл из одного места в другое И вы хотите, чтобы полная структура каталогов была создана, используйте следующую команду:

 xcopy "C:\Data\Images\2013\08\12\85e4a707-2672-481b-92fb-67ecff20c96b.jpg" "C:\Target Data\\Images\2013\08\12\85e4a707-2672-481b-92fb-67ecff20c96b.jpg\" 

Да, поместите обратную косую черту в конце имени файла, и он НЕ спросит вас, является ли это файлом или каталогом. Поскольку в источнике есть только один файл, он предположит, что это файл.

Вернуться к исходному вопросу:

  xcopy "bin\development\whee.config.example" "TestConnectionExternal\bin\Debug\whee.config" 

может быть выполнено с помощью двух команд, например:

 mkdir "c:\mybackup\TestConnectionExternal\bin\Debug\whee.config\.." xcopy "bin\development\whee.config.example" "c:\mybackup\TestConnectionExternal\bin\Debug\whee.config\" 

Просто добавив «\ ..» к пути к целевому файлу, целевой каталог создается, если он еще не существует. В этом случае

 "c:\mybackup\TestConnectionExternal\bin\Debug\" 

который является родительским каталогом несуществующего каталога

 "c:\mybackup\TestConnectionExternal\bin\Debug\whee.config\.." 

По крайней мере для WIN7 mkdir не волнует, если каталог

 "c:\mybackup\TestConnectionExternal\bin\Debug\whee.config\" 

действительно существует.

Я предлагаю robocopy вместо copy или xcopy . Используется как команда или в графическом интерфейсе на клиентах или серверах. Толерантность сетевых пауз и вы можете игнорировать атрибуты файлов при копировании копий по атрибутам файла. О, и он поддерживает многоядерные машины, поэтому файлы копируются намного быстрее «параллельно» друг с другом, а не последовательно. robocopy можно найти в MS TechNet.

xcopy src dest /I

REM This assumes dest is a folder and will create it, if it doesnt exists

У меня была аналогичная проблема, и robocopy и xcopy не помогли, так как я хотел подавить комментарии и использовать другое имя файла назначения. я нашел

 type filename.txt > destfolder\destfilename.txt 

работая согласно моим требованиям.

Для дублирования больших файлов xopy с / J-переключателем является хорошим выбором. В этом случае просто подключите файл F к файлу или D для каталога. Кроме того, вы можете сохранять задания в массиве для будущих ссылок. Например:

 $MyScriptBlock = { Param ($SOURCE, $DESTINATION) 'F' | XCOPY $SOURCE $DESTINATION /J/Y #DESTINATION IS FILE, COPY WITHOUT PROMPT IN DIRECT BUFFER MODE } JOBS +=START-JOB -SCRIPTBLOCK $MyScriptBlock -ARGUMENTLIST $SOURCE,$DESTIBNATION $JOBS | WAIT-JOB | REMOVE-JOB 

Благодаря Chand с небольшими изменениями: https://stackoverflow.com/users/3705330/chand

Используйте копию вместо xcopy при копировании файлов.

например, копия «bin \ development \ whee.config.example» «TestConnectionExternal \ bin \ Debug \ whee.config”

Поскольку вы фактически не изменяете имя файла, вы можете вынуть имя файла из пункта назначения, и вопросов не будет.

 xcopy bin\development\whee.config.example TestConnectionExternal\bin\Debug\ /Y 

Этот подход хорошо работает, когда каталог назначения гарантированно существует, и когда источником может быть в равной мере файл или каталог.

Work Around, используйте ReName … и назовите его некоторым Cryptic Name, затем переименуйте его в свое имя

C:

CD “C: \ Users \ Public \ Documents \ Мои веб-сайты \ AngelFire ~ Zoe \”

XCopy / D / I / V / Y “C: \ Users \ Public \ Documents \ Мои веб-сайты \ HostGator ~ ZoeBeans \ cop.htm”

Ren “cop.htm” “christ-our-passover.htm”

xcopy позволит вам скопировать один файл в указанную папку, а просто не позволит вам определить имя получателя. Если вам требуется имя назначения, просто переименуйте его перед его копированием.

ren “bin \ development \ whee.config.example” whee.config

xcopy / R / Y “bin \ development \ whee.config” “TestConnectionExternal \ bin \ Debug \”

Правильно, если вы хотите скопировать только файл и изменить его имя в пункте назначения:

xcopy / f / y “bin \ development \ example.exe” “TestConnectionExternal \ bin \ Debug \ NewName.exe *”

И это будет хорошо работать

XCOPY с * в конце цели для копирования файлов независимо от того, существуют они или нет в месте назначения XCOPY с \ в конце цели для копирования папок и содержимого независимо от того, существуют они или нет.

альтернативно

RoboForm SOURCE DEST FILE для файлов RoboForm SOURCE DEST для папок

Вы не можете указать, что это всегда файл. Если вам не нужны другие функции xcopy, почему бы просто не использовать обычную copy ?

  • Как проверить конкретную ревизию Subversion из командной строки?
  • как передать диапазон значений в командной строке - передать выражение в качестве аргумента
  • Разделить строку, содержащую параметры командной строки, в строку в C #
  • Как вы запускаете .exe с параметрами с помощью оболочки vba ()?
  • Бесполезное использование кошки?
  • Запуск командной строки молча с помощью VbScript и получение вывода?
  • отправлять / отправлять xml-файл с помощью командной строки curl
  • Постройте несколько проектов CDT C ++ из командной строки
  • Запуск Java в пакете из командной строки
  • Как удалить все таблицы MySQL из командной строки без разрешений базы данных DROP?
  • Аргументы ввода и командной строки пользователя
  • Interesting Posts

    «Windows не удалось завершить формат» при попытке форматирования флэш-накопителя HP USB?

    «Коллекция Controls не может быть изменена, поскольку элемент управления содержит блоки кода”

    Возврат исходного типа коллекции в общий метод

    Как перезагрузить файл свойств весной 4 с помощью аннотаций?

    Использование Razor без MVC

    Как сделать ловушкой весь маршрут для обработки запросов «404 страница не найден» для ASP.NET MVC?

    Как получить IP-адрес LAN для переменной в пакетном файле Windows

    Не удалось решить: com.android.support.design:25.4.0

    Объедините несколько изображений по горизонтали с Python

    Могу ли я определить, какой процесс воспроизводит случайные звуковые сигналы в Windows 7?

    Как отправить объекты через комплект

    Рекомендовать библиотеку планирования задач C #

    Имитация ключа Windows на старой клавиатуре

    Как преобразовать целое число в строку в C?

    Все окна, возвращающиеся к основному монитору после пробуждения от сна

    Давайте будем гением компьютера.