Тихое копирование файлов с помощью xcopy - Python для Windows 10

У меня быстрый вопрос, касающийся копирования файлов. При копировании файлов в сценарии я использую следующее:

os.system('echo f | xcopy /f /y "{source}" "{target}"'.format(source=source, target=target))

Я использую это, потому что это НАМНОГО быстрее, чем shutil.copyfile(source, target), Это прекрасно работает, но выводит эту уродливую строку приглашения в консоли для каждого скопированного файла (см. Изображение ниже).

И если я скомпилирую программу в исполняемый файл (используя cx_Freezeбез окна CMD, открытого для графического интерфейса, оно быстро открывается и закрывает окно CMD при копировании каждого файла (как мерцание). Поэтому, если я копирую 30 файлов, окно CMD мигает, открывая и закрывая 30 раз.

Есть ли способ заставить это замолчать? Может быть, через флаг или что-то? Или, может быть, какой-то другой метод, который я мог бы использовать так же эффективно, как xcopy без надоедливой подсказки и мерцающих окон?

Заранее спасибо.

1 ответ

Решение

Пытаться:

import os
os.system('echo f | xcopy /y "{source}" "{target}" > nul'.format(source=filename, target=filename_txt))

Работает нормально на моей машине.

Другие вопросы по тегам