Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
51 / 50 / 3
Регистрация: 27.07.2019
Сообщений: 485

Выполнение задания в скрипте по определенным датам

23.05.2025, 08:53. Показов 2052. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые форумчане, здравствуйте!
Непраздный вопрос, прописать в скрипте выполение задания только по определенным датам.
Здесь на форуме нашел замечательный скрипт:
Windows Batch file
1
@if "%date:~,2%" neq "10" exit/b 1
Но задача состоит в том, что бы в нём прописать не одно число, а несколько чисел: 1, 7, 14, 21, 28
Подскажите, пожалуйста, как это туда внести?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.05.2025, 08:53
Ответы с готовыми решениями:

Открытие консоли на определенном этапе выполнения CMD-скрипта
Вот такой .CMD в автозагрузке: @echo off start /min rmclock :again tasklist | findstr RMClock...

Как завершить выполнение скрипта через определенное время?
Возникла задача организовать завершение скрипта через определенное время, допустим через 200...

Скрипт, формирующий для вывода определённого сообщения через заданный промежуток времени другой скрипт
Приветствую сообщество CyberForum. Подскажите как реализовать такую задачу. Задача: При запуске...

21
51 / 50 / 3
Регистрация: 27.07.2019
Сообщений: 485
27.05.2025, 13:47  [ТС]
Студворк — интернет-сервис помощи студентам
Я понял, что уже ничего не понял
СПАСИБО ОГРОМНОЕ))))
Буду смотреть, как можно это портировать в схему)))))
0
 Аватар для volodin661
7162 / 2331 / 353
Регистрация: 10.12.2013
Сообщений: 8,065
27.05.2025, 16:05
Лучший ответ Сообщение было отмечено farmsnab как решение

Решение

PowerShell
1
measure-command { ./del_status.bat }
JSON
1
2
3
4
5
6
7
8
9
10
11
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 501
Ticks             : 5013775
TotalDays         : 5,80298032407407E-06
TotalHours        : 0,000139271527777778
TotalMinutes      : 0,00835629166666667
TotalSeconds      : 0,5013775
TotalMilliseconds : 501,3775
Добавлено через 8 минут
Итак:
  • Powershell через cmdlet Select-String 0.7сек
  • cmd через find.exe 0.5сек

Но надо учитывать, что Select-String при этом выстраивает в памяти 20 000 обьектов MatchObject ( найденные подстроки и все свойства ), а find.exe ничего боле не делает.

Добавлено через 29 минут
То есть, время работы powershell - 600 секунд, выдвинутое со стороны обвинения,
на деле оказалось 0.6 секунд;

Разница в 1000 раз, три порядка.

Рабинович напел.

Добавлено через 1 час 29 минут
Цитата Сообщение от farmsnab Посмотреть сообщение
и так на этом форуме мне очень во многом помогли, иногда даже стыдно спрашивать по банальным вещам.
а не надо. сюда писать не надо.
есть инопланетный разум.
вот он и поможет.

Вопрос в чате Deep AI
C#: Создать консольное приложение.

Чтение входного CSV файла с разделителем ";" вида "A;B;C;D";

заголовок во входном файле отсутствует.

Имя входного и выходного файла задано в командной строке.

При нахождении в строке чисел '28' или '11' в колонке C, происходит вывод в файл этой строки.

Версия компилятора: C# 5 , не новее.


ответ через 1.5 секунды

Code
1
2
3
4
5
Конечно! Вот пример простого консольного приложения на C# 5, которое выполняет описанную задачу:
 
- Читает входной CSV-файл без заголовков, разделитель ";"
- Имя входного и выходного файла задаются из командной строки
- Для каждой строки, если в колонке C содержится число "28" или "11", эта строка выводится в выходной файл
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
using System;
using System.IO;
 
class Program
{
    static void Main(string[] args)
    {
        // Проверка правильности передачи аргументов
        if (args.Length != 2)
        {
            Console.WriteLine("Использование: программа <входной_файл> <выходной_файл>");
            return;
        }
 
        string inputFilePath = args[0];
        string outputFilePath = args[1];
 
        try
        {
            // Открываем входной файл для чтения
            using (StreamReader reader = new StreamReader(inputFilePath))
            {
                // Открываем выходной файл для записи
                using (StreamWriter writer = new StreamWriter(outputFilePath))
                {
                    string line;
                    while ((line = reader.ReadLine()) != null)
                    {
                        // Разделяем строку по разделителю ";"
                        string[] columns = line.Split(';');
 
                        // Проверяем, есть ли в колонке C (индекс 2) нужное значение
                        if (columns.Length >= 3)
                        {
                            string columnC = columns[2].Trim(); // убираем лишние пробелы
                            if (columnC == "28" || columnC == "11")
                            {
                                // Записываем строку в выходной файл
                                writer.WriteLine(line);
                            }
                        }
                        // Если колонок меньше 3, пропускаем строку
                    }
                }
            }
            Console.WriteLine("Обработка завершена успешно.");
        }
        catch (Exception ex)
        {
            Console.WriteLine("Произошла ошибка: " + ex.Message);
        }
    }
}
Берёшь этот исходный текст C# и засовываешь его вот в такой скрипт powershell:

Create_exe_program.ps1

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Add-type -OutputType ConsoleApplication -OutputAssembly Program.EXE @"
 
 
 
using System;
using System.IO;
 
class Program
{
    static void Main(string[] args)
    {
        // Проверка правильности передачи аргументов
        if (args.Length != 2)
        {
            Console.WriteLine("Использование: программа <входной_файл> <выходной_файл>");
            return;
        }
 
        string inputFilePath = args[0];
        string outputFilePath = args[1];
 
        try
        {
            // Открываем входной файл для чтения
            using (StreamReader reader = new StreamReader(inputFilePath))
            {
                // Открываем выходной файл для записи
                using (StreamWriter writer = new StreamWriter(outputFilePath))
                {
                    string line;
                    while ((line = reader.ReadLine()) != null)
                    {
                        // Разделяем строку по разделителю ";"
                        string[] columns = line.Split(';');
 
                        // Проверяем, есть ли в колонке C (индекс 2) нужное значение
                        if (columns.Length >= 3)
                        {
                            string columnC = columns[2].Trim(); // убираем лишние пробелы
                            if (columnC == "28" || columnC == "11")
                            {
                                // Записываем строку в выходной файл
                                writer.WriteLine(line);
                            }
                        }
                        // Если колонок меньше 3, пропускаем строку
                    }
                }
            }
            Console.WriteLine("Обработка завершена успешно.");
        }
        catch (Exception ex)
        {
            Console.WriteLine("Произошла ошибка: " + ex.Message);
        }
    }
}
 
 
 
 
"@
 
Write-host "See file PROGRAM.EXE"
Теперь запускаешь в сессии Powershell для Windows этот скрипт:

PowerShell
1
.\Create_exe_program.ps1
И получаешь на выходе готовенький исполняемый файл program.exe

это и есть твоя программа для чтения amark_sgtin.txt и поиска в 3-ей колонке нужных значений,
исполненная по заказу инопланетным разумом для нужд рсийской фармацевт. промышленности.
вместо лекарств. да.

Запускаешь, заодно и измеряешь время

PowerShell
1
measure-command { .\PROGRAM.EXE amark_sgtin.txt output.txt }
Code
1
2
3
4
5
6
7
8
9
10
11
Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 0
Milliseconds      : 243
Ticks             : 2435735
TotalDays         : 2,81913773148148E-06
TotalHours        : 6,76593055555556E-05
TotalMinutes      : 0,00405955833333333
TotalSeconds      : 0,2435735
TotalMilliseconds : 243,5735
0.2 секунды.
Нормально ?


И всё это без участия клоунов, создающих powershell скрипты, работающие 10 минут вместо долей секунды.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.05.2025, 16:05

Необходимо чтобы скрипт копировал файлы с определённой датой в другую папку
new-variable path1 -value d:\директория new-variable path2 -value d:\директория $date1 =...

Скрипт на форматирование всех разделов ПК к определенной дате и времени в автозапуске
Здравствуйте. Помогите написать скрипт, который мог бы полностью стереть все данные к...

Возможно ли: выполнение подпрограммы в отдельном процессе, одновременное выполнение двух подпрограмм?
Всех приветствую :handshake: Пример @echo off call :PROG1 call :PROG2 exit /b :PROG1

Как проверить, запущено ли в Планировщике заданий выполнение задачи?
Привет всем! Задача такая: - Периодически запускается задача (Task Sheduler). Нужно чтобы, если...

Выполнение задания для всех пользователей
Всем доброго времени суток. я к Вам с такого рода проблемой!!! Имеется командный файл который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru