как использовать команды DOS, чтобы сделать следующее - PullRequest
0 голосов
/ 14 сентября 2009

в следующем месте \ Ncsusnasent02.na.jnj.com \ its_diq_na_win_dev \ PowerCenter \ infa_shared \ WCPIT_BIO_EDW \ SrcFiles \ DDDMD \ DDD.CLI026.WK0933.DDDMR45.001.head

У меня есть один файл DDD.CLI026.WK0933.DDDMR45.001.head

если я открою этот файл я получаю данные следующим образом (в одну строку)

HEADER0101IMS HEALTHDMD Weekly   D        DD.CLI026.WK0933.DDDMR45         Centocor    DMDDRM45               W2009080210120090831125325ssnyder@us.imshealth.com      
    TRAIL0101 000000000581                         0000000000CKSUM000002236804730

нам нужно скопировать из этого файла 581 (она не будет одинаковой всегда обновляется ежедневно)

и поместите его в переменную

Ответы [ 3 ]

3 голосов
/ 14 сентября 2009

вы можете попробовать ниже. Это установит поле в переменную окружения id:

 for /f "tokens=10" %%a IN (%1) do (
   SET id=%%a
 )
 echo %id%

Вы можете передать полный путь и имя файла в летучую мышь в качестве первого аргумента.

редактирование:

Эта простая bat будет принимать входные данные из файла, который вы указали в командной строке (param %1), она будет использовать разделители по умолчанию <space> и <tab>, чтобы разбить строку в вашем файле - определенную в IN set - в набор токенов. Параметр "tokens=10" указывает процессору передать 10-й токен, который, как оказалось, является вашим числом, в блок DO. Он передается как параметр %%a. Внутри блока DO я просто присваиваю это значение переменной среды id. После завершения команды for я выводю значение на консоль.

0 голосов
/ 14 сентября 2009

Хм, для меня это больше похоже на то, что парню нужен душевный субстрат ... то есть

@Echo Off

If not %1.==[]. (Cmd /V:On /C Call %0 [] %1 & GoTo :EOF)

Shift
Set MyVariable=HELLOWORLD
Set ASubStr=!MyVariable:~%1!
Echo [!ASubStr!]

Так, например, сохраните это как test.bat, а затем вызовите «test.bat 5», и оно будет отображаться в МИРЕ

Подстрока Google DOS и узнайте, как анализировать текстовую переменную так, как вы этого хотите.

0 голосов
/ 14 сентября 2009

Посмотрите на команду FOR , а именно на часть о параметре / F.

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

...