Как скопировать файл с USB-накопителя на диск C в Windows 10 с помощью командного файла? - PullRequest
0 голосов
/ 09 мая 2019

У меня есть несколько файлов на USB-накопителе, которые нужно скопировать на несколько компьютеров. Эти файлы содержат исполняемый файл, который будет использовать другие файлы конфигурации. Моя проблема заключается в том, что для ПК с Windows 10, пока создается папка temp_folder, ни один из файлов не копируется.

Для Windows 7 я смог создать командный файл, который скопировал файлы на локальный диск и запустил исполняемый файл, используя файлы конфигурации.

Содержимое командного файла было таким, как показано ниже:

mkdir C:\temp_installer
copy ".\file_name" "C:\temp_installer"
<rest of the code>

Я пытался использовать xcopy и robocopy, но все еще вижу, как запускается пакетный файл, и я просто остановился при создании папки. Та же проблема не наблюдается в Windows 7.

Кто-то пробовал это или кто-то может сказать мне, что я могу делать не так?

Ответы [ 2 ]

1 голос
/ 09 мая 2019

Это был бы лучший вариант, нам не нужно разбираться в вопросах разрешений в корне C:

@echo off
cd /d "%~dp0"
set "inst_dir=%temp%\temp_installer"
mkdir "%inst_dir%">nul 2>&1
for %%i in (*) do if not "%%i"=="%~nx0" copy /Y "%%i "%inst_dir%"
:# When completed, we can call execute the files from "%inst_dir%"

Цикл for не нужен, если честно, ясделать это только для , а не скопировать сам файл .bat / .cmd в папку, так как в этом нет необходимости.

Или даже проще, без необходимости делать всеВыше можно просто использовать robocopy

@echo off
cd /d "%~dp0"
robocopy /MIR .\ "%temp%\temp_installer"
0 голосов
/ 09 мая 2019

Powershell - ваш друг, попробуйте это:

Copy-Item E:\Document\ C:\Temp\Document\ -R

Прекрасно работает для меня и даже создает каталог назначения, также Copy-Item имеет alias cp и copy.

Если вы запускаете какой-то скрипт, у вас могут возникнуть проблемы с Execution-Policy: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-6

...