Написание командного файла, который запускает robocopy из пользовательского ввода - PullRequest
0 голосов
/ 30 ноября 2018

Как мне написать командный файл, который запускает cmd.exe, вводит частичную команду robocopy, а затем ожидает завершения ввода пользователем и выполнения команды robocopy?Кажется, что это должно быть самым простым делом, но ни один из опробованных мною методов не вводит команду таким образом, чтобы удерживать и ждать ввода пользователя, а затем успешно выполнить завершенную команду robocopy

Например:

@echo off
set var="robocopy "
cmd.exe %var%

, кажется, работает, но затем, например, ввод пользователя /?вместо этого, чтобы получить информацию о robocopy, вы получите cmd.exe info

Другой пример:

@echo off
cmd /k robocopy

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

я пытаюсь сделать так, чтобы у меня был командный файл, который, когда я щелкну по нему, откроет окно cmd с уже введенной частичной командой robocopy, готовой для меня.чтобы завершить команду с источником / назначением / переключателями и выполнить ее нажатием клавиши ввода - я использую robocopy весь день, так что это сэкономит много времени.

1 Ответ

0 голосов
/ 30 ноября 2018

это не так, как вы думаете.Это означало бы возиться с буфером клавиатуры (в те времена это было довольно распространено в C64, но в (чистом) пакете это было невозможно).

Но следующее должно дать вам хороший старт для автоматизации.Предполагается, что вы используете одни и те же параметры каждый раз и просто хотите предоставить ему исходную и целевую папку.Приспосабливайтесь к своим потребностям (особенно к параметрам - я добавил /L, чтобы предотвратить нежелательные действия во время тестирования):

@echo off
set "command=robocopy"
set "params=/L /E /MOV /MT:12 /FP /log+:robocopy.log /TEE"
set /p "source=Enter Source: "
set /p "destin=Enter Destination: "
%command% "%source%" "%destin%" %params%

cmd.exe или cmd.exe /k не требуется, пока вы не захотите сделать робокопиюработать в новом окне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...