Raikoho написав:Вміст бат файлу такий:
for /l %%i in (1,1,10) do(
tasklist > F:\hej.txt
)
Треба, щоб файли, які зберігаються в цьому циклі, накопичувались, а не перезаписувались. Тобто з кожним кроком в циклі міняти назву файлу hej.txt на щось інше, яке не співпадає з попередніми. Ідею то знаю, але реалізувати хард. Буду радий глянути ваш код
А чому б не підставити саму змінну-лічильник в ім'я, що генерується?
for /l %%i in (1,1,10) do(
tasklist > F:\hej%%i.txt
)
В результаті, отримаєте файли hej1.txt, hej2.txt і т.д.
Потім, можна генерувати випадкове число (яке з досить великою ймовірністю буде унікальним) з допомогою системної змінної %random% — проте, слід пам'ятати, що всі підстановки змінних (крім лічильників) у тіло циклу відбуваються разово перед його виконанням, тому, якщо треба, щоб цикл щоразу генерував десять файлів з унікальними іменами, то слід включити в ім'я і лічильник (інакше цикл перезапише десять разів один і той же файл):
for /l %%i in (1,1,10) do(
tasklist > F:\hej%random%_%%i.txt
)
Про змінні %date% й %time% вже писали вище. З %time% без додаткових дій нічого не вийде: в ній години, хвилини й секунди розділяються двокрапками, які в іменах файлів заборонені. Гадаю, простіше буде поєднати %date%, %random% і лічильник. Втім, якщо скрипт запускається десятки тисяч разів на добу, цей варіант не годиться (%random% дає випадкове ціле число в межах 2¹⁶).