Я пытаюсь написать пакетный скрипт для копирования файлов appdata на мой usb-накопитель ... Я подумал (в этом я не уверен), что если на любом компьютере я подключу, мой usb% appdata% может быть использован как путь по умолчанию, но для каждой буквы диска ПК для изменения USB, так что было бы лучшим способом назначить такой путь, который напрямую отвечает на USB? команда, которую я использую для копирования - это xcopy с параметрами /y /s
3 ответа
Если вы сохраняете файл CMD на USB-накопителе и запускаете его оттуда, вы можете использовать рабочий каталог скрипта, чтобы помочь вам.
Содержимое CopyAppdataHere.cmd:
xcopy /y /s %appdata% %~dp0SomeFolder
В сценарии %~dp0
расширяется до диска и пути к файлу CMD (включая обратную косую черту), даже если это не активный текущий каталог, и помещает файлы в каталог SomeFolder .
Предполагаемый пункт назначения - папка с вашим командным файлом. Далее просто скажи, где взять материал.
копировать% appdata% *.*
или же
копия c:\ скачать
если ваш пакет находится в usb X:\123 = это то место, куда будут идти файлы копий.
Есть несколько методов. Первый способ, который был бы самым простым, был бы:
if exist=D:\Data\Teat.TXT goto :copy
Просто бегите по дереву, пока не найдете букву, назначенную вашему USB.
Другой метод будет в начале вашей партии иметь пункт меню, где вы вводите букву USB и назначаете ей переменную, которая затем будет использоваться в скрипте, где вызывается.
Наконец, если вы запускаете *.bat
с USB, вы сможете указать путь к устройству, я могу проконсультироваться по этому вопросу, если вы захотите.