Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата Zayaca:
Как вытащить все id и заставить батник »
Никак. Потребуется Automation, чтобы «вытащить все id».

Поскольку Вы не выложили образец файла, придётся строить предположения. Будем считать, что данные находятся на первом листе рабочей книги.
читать дальше »
WSH:
Код: Выделить весь код
Option Explicit

Dim i


With WScript.CreateObject("Excel.Application")
	With .Workbooks.Open("E:\Песочница\0168\base.xls")
		With .Sheets.Item(1)
			i = 2
			
			Do
				With .Cells.Item(i, Asc("Y") - Asc("A") + 1)
					If Not IsEmpty(.Value) Then
						WScript.Echo .Value
						i = i + 1
					Else
						Exit Do
					End If
				End With
			Loop
		End With
		
		.Close
	End With
	
	.Quit
End With

WScript.Quit 0

Вы можете получить результат работы скрипта в пакетном файле посредством простого разбора, наподобие:
Код: Выделить весь код
for /f "usebackq delims=" %%i in (`cscript.exe //nologo "E:\Песочница\0168\0001.vbs"`) do echo %%i
Такой периодический набор:
Код: Выделить весь код
xcopy \\pc1\d$\base\a4664.* d:\base_all\ /y /c
xcopy \\pc2\d$\base\a4664.* d:\base_all\ /y /c
xcopy \\pc3\d$\base\a4664.* d:\base_all\ /y /c
xcopy \\pc4\d$\base\a4664.* d:\base_all\ /y /c
xcopy \\pc5\d$\base\a4664.* d:\base_all\ /y /c
легко сворачивается в цикл:
Код: Выделить весь код
for %%j in (pc1 pc2 pc3 pc4 pc5) do xcopy \\%%j\d$\base\a4664.* d:\base_all\ /y /c
Таким образом, примерный вид может быть таким:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion


for /f "usebackq delims=" %%i in (`cscript.exe //nologo "E:\Песочница\0168\0001.vbs"`) do (
	for %%j in (pc1 pc2 pc3 pc4 pc5) do xcopy \\%%j\d$\base\a%%i.* d:\base_all\ /y /c
)

endlocal
exit /b 0

Последний раз редактировалось Iska, 12-08-2012 в 10:47. Причина: Убрал забытое отладочное echo из пакетного файла

Это сообщение посчитали полезным следующие участники:

Отправлено: 04:35, 12-08-2012 | #2