xcopy file, переименовывает, подавляет сообщение «xxx указывает имя файла ...» - PullRequest
383 голосов
/ 11 июня 2010

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

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.

Ответы [ 19 ]

1 голос
/ 28 декабря 2017

Для дублирования больших файлов хорошим выбором будет 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

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

1 голос
/ 14 мая 2017

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

xcopy / f / y "bin \ development \ example.exe" "TestConnectionExternal \ Bin \ Debug \ NewName.exe *"

И это будет нормально работать

1 голос
/ 14 января 2016

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

type filename.txt > destfolder\destfilename.txt

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

1 голос
/ 21 февраля 2013

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

0 голосов
/ 11 июня 2010

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

0 голосов
/ 08 июня 2015

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

ren "bin \ development \ whee.config.example" whee.config

xcopy / R / Y "bin \ development \ whee.config" "TestConnectionExternal \ Bin \ Debug \"

0 голосов
/ 28 октября 2010

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

например, скопируйте "bin \ development \ whee.config.example" "TestConnectionExternal \ bin \ Debug \ whee.config"

0 голосов
/ 05 сентября 2011

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

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

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

0 голосов
/ 06 июня 2013

Обходите, используйте ReName ... и назовите его загадочным именем, затем переименуйте его на собственное имя

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"

...