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

Пример: xcopy /s /z D:\"Документы и настройки"\% username%\Desktop C:\Users\USER\Desktop

Где написано "USER" нужно добавить учетную запись пользователя, к которой он собирается. Пример. xcopy /s /z D:\"Документы и настройки"\% username%\Desktop C:\Users\Dang\Desktop

Так что я ищу, когда я начинаю.Bat файл спросит меня, в какую "учетную запись пользователя" вы хотите передать данные? Тогда я смогу добавить туда имя, которое хочу.

2 ответа2

4

Вы можете предложить пользователю ввести строку с /p-флагом в команде set, например:

set /p targetuser="Enter target username: "
xcopy /s/z "D:\Documents and Settings\%username%\Desktop" "C:\Users\%targetuser%\Desktop"

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

xcopy /s/z "D:\Documents and Settings\%username%\Desktop" "C:\Users\%~1\Desktop"
2

Самый простой способ сделать это с помощью параметра командной строки:

xcopy /s/z D:\"Documents and Settings"\%username%\Desktop C:\Users\%1\Desktop

Затем запустите скрипт так:

C:>sciptname.bat username

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .