|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Размножить bat |
|
CMD/BAT - [решено] Размножить bat
|
Ветеран Сообщения: 531 |
Профиль | Отправить PM | Цитировать Здравствуйте, есть код
for /f "delims=" %%i in (categories.txt) do ( echo setlocal %%i >>"%%i.bat" echo setlocal enableextensions %%i >>"%%i.bat" ) Вопрос.. а можно ли как - то вместить вторую переменную? Я хочу ее вставить в текст, она также должна заменяться на то, что в другом txt файле.. Примерно вот так (конечно это работать не будет): |
|
Отправлено: 01:29, 10-07-2019 |
Ветеран Сообщения: 531
|
Профиль | Отправить PM | Цитировать Спасибо, сейчас все, как хотел работает, изменил немного, имена берутся из categories, а расширение всегда ".bat". Вроде ничего не испортил... скрипт, который размножил, попробовал запустить, тоже работает.
Скрытый текст
INcategories = "C:\Users\Alexander\work\GENERATOR\categories.txt" INnames = "C:\Users\Alexander\work\GENERATOR\names.txt" INfish = "C:\Users\Alexander\work\GENERATOR\in.txt" OutDir = "C:\Users\Alexander\work\GENERATOR" key1 = "^names^" key2 = "^categories^" Set FSO = CreateObject("Scripting.FileSystemObject") Masscat = Split(ReadFile(INcategories, FSO), vbCrLf) Massnam = Split(ReadFile(INnames, FSO), vbCrLf) N1 = LBound(Masscat) NN = UBound(Masscat) If NN <> UBound(Massnam) Then MsgBox "Files" + vbCrLf + vbCrLf + INcategories + vbCrLf + INnames + vbCrLf + vbCrLf + "contain a different number of lines" WScript.Quit 1 End If fish = ReadFile(INfish, FSO) Ext = FSO.GetExtensionName(INfish) On Error Resume Next For i = N1 To NN If Len(Trim(Massnam(i))) <> 0 Then Err.Number = 0 Set Fout = FSO.OpenTextFile(OutDir + "\" + Masscat(i) + ".bat", 2, True) If Err.Number <> 0 Then MsgBox "Error open file " + vbCrLf + vbCrLf + OutDir + "\" + Massnam(i) + "." + Ext + vbCrLf + vbCrLf + "Err.Number " + CStr(Err.Number) + vbCrLf + Err.Description Fout.Close Else Fout.Write Replace(Replace(fish, key1, Massnam(i)), key2, Masscat(i)) Fout.Close End If End If Next On Error GoTo 0 ' ================================ Function ReadFile(filename, FO) On Error Resume Next Set Fin = FO.OpenTextFile(filename, 1, False) If Err.Number <> 0 Then MsgBox "Error open file " + vbCrLf + vbCrLf + filename + vbCrLf + vbCrLf + "Err.Number " + CStr(Err.Number) + vbCrLf + Err.Description WScript.Quit 1 End If ReadFile = Fin.ReadAll Fin.Close On Error GoTo 0 End Function |
Отправлено: 16:53, 11-07-2019 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Alexander_88, Моя знакомая говАривала: я с Вас валяюсь!
Цитата Alexander_88:
Не знаю, что за батник, но Цитата megaloman:
Цитата Alexander_88:
Цитата Alexander_88:
|
||||
------- Последний раз редактировалось megaloman, 11-07-2019 в 17:29. Отправлено: 17:19, 11-07-2019 | #12 |
Ветеран Сообщения: 531
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 19:11, 11-07-2019 | #13 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Размножить каждую строку в txt файле n количество раз | Alexander_88 | Скриптовые языки администрирования Windows | 16 | 10-07-2019 19:09 | |
CMD/BAT - [решено] размножить файл | muslimdogger | Скриптовые языки администрирования Windows | 5 | 21-08-2015 15:14 | |
CMD/BAT - Bat, который создаёт другой bat с командами на изменение текста | mazahaka2000@vk | Скриптовые языки администрирования Windows | 2 | 13-06-2015 04:52 | |
CMD/BAT - [решено] Размножить текст | Alexander_88 | Скриптовые языки администрирования Windows | 8 | 19-08-2014 10:44 | |
CMD/BAT - Как настроить последовательный запуск bat-файлов в другом bat. | codi28 | Скриптовые языки администрирования Windows | 12 | 27-11-2013 18:30 |
|