powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Помогите - такое возможно для bat ?
13 сообщений из 13, страница 1 из 1
Помогите - такое возможно для bat ?
    #37193670
klara1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, не могу сама разобраться.
Существуют папки (каталоги с файлами) такой структуры:
00239416 2011.03.31 09:33.00
02513318 2011.03.30 16:03.20
02513318 2011.03.31 08:20.01

(название папки из нескольких цифр, дата и время)
Из них некоторые могут повторяться, отличаясь только по дате и времени, но может таких и не встречаться

От меня требуется разработать bat-файл, который из одного каталога в другой копировал бы только последний по дате и времени из возможно повторяющихся таким образом файлов, а также все не повторяющиеся или просто удалить более ранние версии дублирующихся каталогов... ну, чтобы в конце оставались только не повторяющиеся каталоги и последние по времени и дате повторяющиеся.
Причём дата создания (на самом деле - загрузки) этих самых каталогов - одна, они отличаются только в названии.

Ума не приложу, как это сделать, бьюсь уже который день. Помогите пожалуйста, если такое сделать возможно, я в этом деле новичок, а от меня требуют именно bat-файл
Спасибо.
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37193712
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно, но свой мозг придется хорошенько напрячь.
Хотя есть и более простой путь, посмотрите в сторону Automate Enterprise
Я когда-то слишком заумные задачи этой штуковиной решал намного быстрее, пример:
Код: plaintext
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.
<AM5TASK>
<AMTASKHEAD>
    <TASKINFO TASKVERSION="6110">
<\AMTASKHEAD>
<STEPS>
<!--- //////////////////////////////////////////////////////////////////////////
Обработка PT*-файла
Последнее редактирование:  07 - 12 - 2010 
////////////////////////////////////////////////////////////////////////// --->
<AMMESSAGEBOX WINDOWTITLE="Последнее китайское предупреждение!!!" BUTTONS="yes_no" DEFAULTBUTTON="2" ICON="stop" COUNTDOWNDELAY="60" ONSECONDBUTTONCLICK="stop">Вы действительно хотите обработать PT*-файл ?</AMMESSAGEBOX>
<AMFILEWRITE FILE="C:\Automate.log\Обработка_PT.log">------------------------------------------------
Начало обработки файла PT* (%Now()%)
------------------------------------------------
</AMFILEWRITE>
<AMVARIABLE NAME="PT_file">null</AMVARIABLE>
<AMCOMMONDIALOG WINDOWTITLE="Открытие файла" FILTER="PT-files (PT*.*)|PT*.*" RESULTVARIABLE="PT_file" DEFAULTFOLDER="%'P:\IN\' & Year(Date())  & '\' & Month(Date()) & '\'& IIf(Day(Date()) < 10, '0' & Day(Date()), Day(Date())) & '\'%">
<AMFTPLOGIN SERVER="10.26.52.252" USERNAME="load" PASSWORD="12oBqAR4kHow=">
<AMFTPCHANGEFOLDER FOLDER="/ex/ora_post_in/">
<AMFTPUPLOAD SOURCE="%PT_file%" DEST="/ex/ora_post_in/PT*" OVERWRITE="YES">
<AMRUN FILE="O:\Other\PT\Utils\Load_UnLoad\Load\Load.bat" DEFAULTFOLDER="O:\Other\PT\Utils\Load_UnLoad\Load\" WAITFORINPUT="NO" WAITFOREND="YES" SINGLEINSTANCE="YES">
<AMFILECOPY SOURCE="%'O:\Other\PT\Utils\Load_UnLoad\Load\lo*.log'%" DEST="C:\Automate.log\tmp\CurrentPT.log" OVERWRITE="YES" OVERWRITEREADONLY="YES" OVERWRITEHIDDEN="YES" ISNEWERTHAN="%DateAdd( "h", -24, CStr( Now() ))%">
<AMRUN FILE="notepad.exe C:\Automate.log\tmp\CurrentPT.log" DEFAULTFOLDER="C:\Automate.log\tmp\" WINDOWSTARTUP="maximized">
<AMFTPLOGOFF AM_FAILACTION="4">
   <!---
<AMWAITFORWINDOW ACTION="close" WINDOWTITLE="CurrentPT.log - Блокнот" WINDOWCLASS="Notepad">
<AMFILEDELETE SOURCE="C:\Automate.log\tmp\CurrentPT.log" TORECYCLE="YES">
   --->
<AMFILEWRITE FILE="C:\Automate.log\Обработка_PT.log">Файл PT* успешно отработан.

</AMFILEWRITE>
<AMMESSAGEBOX WINDOWTITLE="Выход" ICON="information" COUNTDOWNDELAY="5" AM_FAILACTION="4">Конец всей процедуры проверки и обработки PT*-файла.</AMMESSAGEBOX>
<AMFILEWRITE FILE="C:\Automate.log\Обработка_PT.log">----------------------------------------------------
Завершение обработки файла PT* (%Now()%)
----------------------------------------------------
</AMFILEWRITE>
<!--- exit --->
<\STEPS>
</AM5TASK>
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37193778
Фотография С0ВЕСТЬ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще советую посмотреть в сторону vTask , в которой все действия можно графически мышкой натыкать и на выходе сгенерировать все в одну программку.
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37193852
klara1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, обязательно посмотрю, хотя не знакома с этими приложениями. Но требуют именно bat.......
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37193939
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе надо смотреть в сторону WSH или PowerShell, их изучить и написать свой скрипт
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37193945
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
klara1Спасибо, обязательно посмотрю, хотя не знакома с этими приложениями. Но требуют именно bat.......
Чистый БАТ без WSH для этого не расчитан, на нем не возможно делать расчеты, требуется применение внешних программ.
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37194395
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Podgoretskyklara1Спасибо, обязательно посмотрю, хотя не знакома с этими приложениями. Но требуют именно bat.......
Чистый БАТ без WSH для этого не расчитан, на нем не возможно делать расчеты, требуется применение внешних программ.

Опять чушь вещает...

1. set /?
2. for /?
3. PowerShell
4. Хотя, канешно, VBS проще будет.
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37194477
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PowerShell было
Set и For за вычисления не считаю.
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37194993
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
COPY в принципе не имеет средств для различения одноимённых файлов в каталоге по дате и времени создания.
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37195431
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly PodgoretskySet и For за вычисления не считаю.

А напрасно.
Код: plaintext
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.
>set /?
Вывод, задание и удаление переменных среды cmd.exe.

SET [переменная=[строка]]

  переменная  Имя переменной среды.
  строка      Строка символов, присваиваемая указанной переменной.

Введите SET без параметров для вывода текущих переменных среды.

Изменение команды SET при включении расширенной обработки команд:

Если при вызове указать только имя переменной без знака равенства и значения,
команда SET выведет значения всех переменных, имя которых начинается
с указанной строки.  Например:

    SET P

Эта команда выведет значения всех переменных, имена которых начинаются с 'P'.

Если имя переменной не найдено в текущей среде, при возврате команда SET
установит значение ошибки ERRORLEVEL 1.

Команда SET не допускает использование знака равенства в имени
переменной среды.

Команда SET поддерживает два дополнительных ключа:

    SET /A выражение
    SET /P variable=[promptString]

Ключ /A указывает, что строка справа от знака равенства является числовым
выражением, значение которого вычисляется.  Обработчик выражений очень
прост и поддерживает следующие операции, перечисленные в порядке убывания
приоритета:

    ()                  - группировка
    ! ~ -               - унарные операторы
    * / %              - арифметические операторы
    + -                 - арифметические операторы
    << >>               - двоичный сдвиг
    &                   - двоичное И
    ^                   - двоичное исключающее ИЛИ
    |                   - двоичное ИЛИ
    = *= /= %= += -=   - присвоение
      &= ^= |= <<= >>=
    ,                   - разделитель операторов

При использовании любых логических или двоичных операторов необходимо
заключить строку выражения в кавычки.  Любые нечисловые строки в выражении
рассматриваются как имена переменных среды, значения которых преобразуются
в числовой вид перед использованием.  Если переменная с указанным именем
не определена в системе, вместо нее подставляется нулевое значение.  Это
позволяет выполнять арифметические операции со значениями переменных среды,
причем не нужно вводить знаки % для получения значений.  Если команда
SET /A вызывается из командной строки, а не из пакетного файла, она выводит
окончательное значение выражения.  Слева от любого оператора присваивания
должно стоять имя переменной среды.  Числовые значения рассматриваются как
десятичные, если перед ними не стоит префикс 0x для шестнадцатеричных чисел,
и 0 для восьмеричных чисел.  Например, числа 0x12,
и 022 обозначают десятичное число 18.  Обратите внимание на запись
Для продолжения нажмите любую клавишу . . .
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37195513
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да знаю я это, можешь добавить еще и параметры извлечения частей даты, но
это грубое подобие вычислений, по сравнению с WSH/Power Shell

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37196255
Anatoly PodgoretskyДа знаю я это, можешь добавить еще и параметры извлечения частей даты, но
это грубое подобие вычислений, по сравнению с WSH/Power Shell



Значет ты леньтяй
...
Рейтинг: 0 / 0
Помогите - такое возможно для bat ?
    #37196272
Фотография Anatoly Podgoretsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно лентяй, не буду я подобным заниматься, нафиг не нужно
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Помогите - такое возможно для bat ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]