Пакетный скрипт для копирования папки с сервера на рабочий стол пользователя в сети - PullRequest
0 голосов
/ 09 января 2019

Моя цель - создать пакетный скрипт для копирования папки с подпапками на рабочий стол пользователя с возможностью перезаписи и минимизацией командной строки.

Я запускаю скрипт через групповую политику на экране запуска пользователя.

Однако я получаю сообщение об ошибке при локальном запуске сценария. Не уверен, что мне не хватает в сценарии ..

@echo off
@cls

if not "%minimized%"=="" goto :minimized

set minimized=true

start /min cmd /C "%~dpnx0"

goto :EOF

:minimized
echo Your Source Path:

set INPUT1=\\X.X.X.X\Test\TMS\
echo Your Destination Path:
set INPUT2=C:\Users\%Username%\Desktop\

xcopy %INPUT1% %INPUT2% /y /s

:minimized

1 Ответ

0 голосов
/ 09 января 2019

Вы упомянули папку, поэтому я пишу это, предполагая, что вы хотите создать папку TMS с содержимым на рабочем столе.

Я бы попробовал что-то вроде этого на минимизированном ярлыке. Это не проверено, поскольку у меня нет сетевых дисков для тестирования.

for /f "tokens=2" %i in ('net use * "\\X.X.X.X\Test\TMS\" ^| findstr /i Drive') do set "tmpDr=%%i"
  mkdir  "%USERPROFILE%\Desktop\TMS" >nul
  xcopy "%tmpDir%\*" "%USERPROFILE%\Desktop\TMS" /s /y
  net use /d %tmpDir% >nul

Некоторые вещи, которые нужно отметить в вашем коде У вас есть 2 minimized меток, вам нужно заключить переменные пути в двойные кавычки, чтобы устранить возможные пробелы, вы можете отбросить видение echo, поскольку вы планируете минимизировать выполнение скрипта. И последнее, но не менее важное: вам не нужно указывать полный путь к рабочему столу пользователя, поскольку переменная %USERPROFILE% уже существует как Drive:\Users\Username

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