Windows Shell Script для загрузки csv в переменные - PullRequest
2 голосов
/ 31 августа 2011

Я пытаюсь использовать встроенный скрипт Windows для загрузки этого файла:

hostname1,host_specific_file1
hostname2,host_specific_file2
hostname3,host_specific_file3
.
.
.

Как это:

for /f "tokens=1,2* delims=," %%i in (host-info.txt) do set clientName=%%i; set fileLoc=%%j

Что не работает, но я хочу, чтобы все было так:

:loop
For each line, Set the current_hostname=hostnamex and Set the current_file=host_specific_filex
And THEN
DO STUFF
Goto next line, Goto loop

Есть ли способ сделать это? Я не могу обернуть свой сценарий в концепцию «Перейти к следующей строке» или «Обрабатывать одну строку за раз».

Спасибо, Chris

1 Ответ

3 голосов
/ 31 августа 2011

Вы можете;

echo off
setlocal enabledelayedexpansion

for /f "tokens=1,2* delims=," %%i in (host-info.txt) do (
    set clientName=%%i
    set fileLoc=%%j
    call:handler
)
goto:eof

:handler
    echo client name is !clientName! location is !fileLoc!
goto:eof

Или используя% n обозначение;

echo off
setlocal enabledelayedexpansion

for /f "tokens=1,2* delims=," %%i in (host-info.txt) do call:handler %%i %%j
goto:eof

:handler
    echo client name is %1 location is %2 ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...