DOS Batch Array значения, требующие пробелов - PullRequest
0 голосов
/ 13 августа 2011

Я очень хорошо и правда застрял в этом.Мне нужно иметь пробелы в массиве, который я установил для файла .bat, а затем запустить следующий код.Это не работает!Любые идеи?

% 2 - это переменная, проанализированная в этом .bat-файле.

set App_Loc=("c$\Program Files\A B")
for /f "usebackq delims=" %%i in %App_Loc% do (
robocopy \\%2\%%i <USER DEFINED LOCATION>
)

Любая помощь будет оценена!

1 Ответ

0 голосов
/ 13 августа 2011

Я предполагаю, что вы хотите взять файлы в каталоге c: \ Program Files \ AB и запустить их робокопию на сервере (определено в% 2 - второй параметр пакетного сценария в определенном пользователем месте).

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

set App_Loc="c:\Program Files\A B"
for /f "tokens=*" %%f in ('dir /b %App_Loc%') do (
    robocopy "\\%2\%%~nf.%%~xf" "USER DEFINED LOCATION"
)

Вот как я использовал его в файле с именем test.bat:

C:\temp>dir "c:\Program Files\A B" /b
ADONETArtifactGenerator_T4CodeGenTemplateCS.vstemplate
Barnaby Weir - Tarot Card Rock.mp3
DisableTaskOffload.reg

C:\temp>test.bat dummy server

C:\temp>set App_Loc="c:\Program Files\A B"

C:\temp>for /F "tokens=*" %f in ('dir /b "c:\Program Files\A B"') do ()

C:\temp>()
robocopy "\\server\ADONETArtifactGenerator_T4CodeGenTemplateCS..vstemplate" "USER DEFINED LOCATION"

C:\temp>()
robocopy "\\server\Barnaby Weir - Tarot Card Rock..mp3" "USER DEFINED LOCATION"

C:\temp>()
robocopy "\\server\DisableTaskOffload..reg" "USER DEFINED LOCATION"

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