Показать полную графическую версию : Помогите девушке сделать bat файлик
Есть каталог с файлами и txt файл с именами этих файлов.
Мне нужно, чтобы было так:
flashnul.exe 1 -L 0001.bin -r=0 -V=2
flashnul.exe 1 -L 0002.bin -r=4096 -V=2
flashnul.exe 1 -L 0003.bin -r=8192 -V=2
...
Это файлы о которых я писала выше. Их много.
0001.bin
0002.bin
0003.bin
А вот значения
-r=0
-r=4096
-r=8192
...
эти значения прибавляются на 4096 в каждой следующей строке и должны соответствовать имени файла.
И еще нужно чтобы между командами была задержка на выполнение следующей:
flashnul.exe 1 -L 0001.bin -r=0 -V=2
задержка 3 секунды
flashnul.exe 1 -L 0002.bin -r=4096 -V=2
задержка 3 секунды
flashnul.exe 1 -L 0003.bin -r=8192 -V=2
и т.д.
Ребят, может поможет кто? Я сама пыталась, но для блондинки это тяжеловато! Спасибо.
На что мы ориентируемся в количестве? На число файлов вида 0001.bin, 0002.bin, … NNNN.bin?
Привет. Спасибо, что откликнулись, но я не поняла Ваш вопрос.
Вы пишете:
Мне нужно, чтобы было так:
flashnul.exe 1 -L 0001.bin -r=0 -V=2
flashnul.exe 1 -L 0002.bin -r=4096 -V=2
flashnul.exe 1 -L 0003.bin -r=8192 -V=2
...
Это файлы о которых я писала выше. Их много. »
То есть, мы составляем:
flashnul.exe 1 -L 0001.bin -r=0 -V=2
flashnul.exe 1 -L 0002.bin -r=4096 -V=2
flashnul.exe 1 -L 0003.bin -r=8192 -V=2
flashnul.exe 1 -L 0004.bin -r=12288 -V=2
flashnul.exe 1 -L 0005.bin -r=16384 -V=2
flashnul.exe 1 -L 0006.bin -r=20480 -V=2
flashnul.exe 1 -L 0007.bin -r=24576 -V=2
и т.д.
Так вот, до каких пор мы должны добавлять строки, наращивая выделенное?
Поняла. Файлов всего 4224. Мне нужно все их использовать.
На WSH (не проверялось):
Option Explicit
Dim objFSO
Dim objWshShell
Dim i
Dim strFileName
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objWshShell = WScript.CreateObject("WScript.Shell")
i = 0
Do
strFileName = Right("0000" & CStr(i + 1), 4) & ".bin"
If objFSO.FileExists(strFileName) Then
objWshShell.Run "flashnul.exe 1 -L " & strFileName & " -r=" & CStr(i * 4096) & " -V=2", 1, True
WScript.Sleep 3 * 1000
i = i + 1
Else
Exit Do
End If
Loop
Set objWshShell = Nothing
Set objFSO = Nothing
WScript.Quit 0
Спасибо большое! Буду проверять!
Еще раз ОГРОМНОЕ СПАСИБО! Все работает! :yahoo:
megaloman
17-01-2018, 16:31
xerius2, @Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
FOR /L %%i IN (1,1,4224) DO (
Set /A Name=%%i+1000000
Set /A R=%%i*4096-4096
If Exist !Name:~-4!.bin (
flashnul.exe 1 -L !Name:~-4!.bin -r=!R! -V=2
>nul choice /C Y /N /T 3 /D Y
)
)
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set "Text=TextFile.txt"
FOR /F "usebackq delims=" %%f IN ("%Text%") DO (
Set /A R=1%%~nf-10000
Set /A R=!R!*4096-4096
If Exist %%f (
flashnul.exe 1 -L %%f -r=!R! -V=2
>nul choice /C Y /N /T 3 /D Y
)
)
Хотя, в общем-то непонятно, зачем в поставленной задаче нужен txt файл с именами этих файлов. »
Но если "Есть ... txt файл с именами этих файлов, тогда" »
Точно, было же:
и txt файл с именами этих файлов »
Что-то я «прощёлкал» сие :(.
megaloman
18-01-2018, 11:43
Iska, А я не прочувствовал, что девушке нужно чтобы между командами была задержка на выполнение следующей: » Исправил. Привлёк choice, наверное при этом надо иметь Windows не старше Win 7
И в вопросе не понятно, что надо: пауза между запусками программ, или пауза перед запуском следующей программы после того, как предыдущая программа отработала.
ИМХО, логично, если ждать окончания запущенной программы, не делать задержки.
Я сама пыталась, но для блондинки это тяжеловато! » ИМХО, заметил, что брюнетки чаще красятся в блондинок, чем наоборот. А блондинки (и натуральные и крашенные) любят поддерживать блондинистую мифологию, чтобы джентльмены с низкого старта бежали на помощь :)
надо иметь Windows не старше Win 7 »
Э… может быть — «не младше»?
И в вопросе не понятно, что надо: пауза между запусками программ, или пауза перед запуском следующей программы после того, как предыдущая программа отработала. »
flashnul.exe 1 -L 0001.bin -r=0 -V=2
задержка 3 секунды
flashnul.exe 1 -L 0002.bin -r=4096 -V=2
задержка 3 секунды
flashnul.exe 1 -L 0003.bin -r=8192 -V=2
и т.д. »
megaloman
18-01-2018, 12:20
Iska, Win 95 старше Win 7 так как появилась раньше. Корректнее, наверное, не старее. А насчёт паузы - весь вопрос в назначении программы, чем обусловлено требование на её присутствие.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.