Там свои хитрости с кавычками в батниках. Я пока только предполагаю, т.к. сам не проверял за ненадобностью использования. Если тебе не помогло, то уже предложение отклоняется. Подождём, что MVV напишет.sa писал(а):Или кому-то помогло?
Изменить дату создания каталогов по дате входящих файлов
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Да, в моем батнике косяк:
Правильный вариант:
Исправил батник в соотв. посте.
Код: Выделить всё
do call %0 go %%fКод: Выделить всё
do call %0 go "%%f"Это не поможет, т.к. путь к файлу списка тотал при необходимости сам заключает в кавычки. А пути в файле списка - нет.Flasher писал(а):А что мешает %WL заключить в кавычки?c930 писал(а):из-за пробелов похоже в именах заданных каталогов.
Блин, и это хотел исправить. Проблема тут в том, что у Win2k версия 5.0, а 10-я студия ставит требуемую версию системы 5.01, и никак это не исправить (большую версию задать можно, а меньшую - нет). Я точно знаю, что программка пойдет на Win2k, поэтому можно тупо исправить пару байт в PE-заголовке. Файл в посте обновил.Win2k говорит, что FixDate.exe не является приложением Win32
А не нужно ещё вMVV писал(а):Исправил батник в соотв. посте.
Код: Выделить всё
"%~dp0FixDate.exe" %2\Нет, я не сплю. Я просто медленно моргаю.
Не принципиально. Для получения параметра командной строки я использую давно написанную функцию, которая считает концом параметра первый пробел, не заключенный в кавычки, и удаляет из параметра все кавычки, так что строки D:"1 2""3 4"\5 и "D:\1 2\3 4\5" равнозначны.Batya писал(а):А не нужно ещё ввместо %2\ писать "%~2"Код: Выделить всё
"%~dp0FixDate.exe" %2\
Нет, не заменяются. В этом нет необходимости. Системные функции прекрасно переваривают пути с двойными слэшами. 
В выводе видны пути, передаваемые утилите - разве что без завершающего слэша. Утилита лишь приписывает в хвост \* для перебора элементов, и передает оригинальный путь функции открытия файла для установки даты.
Код: Выделить всё
"D:\name with spaces\\another name with spaces\1 2 3"
"D:\name with spaces\\another name with spaces"
"D:\name with spaces\"
Для продолжения нажмите любую клавишу . . .Хм. Я специально проверял – работает без длл'ек (xp sp3 rus)c930 писал(а):The procedure * could not be located in the DLL libintl3.dll
С длл'ками
Брал отсюда
Уважаемые кулхацкеры!
был бы рад утилите для смены атрибутов времени со следующими возможностями:
- смена даты и времени создания, модификации, доступа к файлам и папкам
- с применением ко всем подпапкам
- с возможностью заполнения атрибутов рандомными значениями в заданном периоде, например с 12.05.2002 18:12:41 рандомно до 29.02.2004 19:03:17
- возможность отдельно задавать для всех трех дат (создание, модификация, доступ) эти периоды
нашел Magic Attribute Pro 3 - там есть маска и последовательные инкременты декременты, но нет рандома :)
был бы рад утилите для смены атрибутов времени со следующими возможностями:
- смена даты и времени создания, модификации, доступа к файлам и папкам
- с применением ко всем подпапкам
- с возможностью заполнения атрибутов рандомными значениями в заданном периоде, например с 12.05.2002 18:12:41 рандомно до 29.02.2004 19:03:17
- возможность отдельно задавать для всех трех дат (создание, модификация, доступ) эти периоды
нашел Magic Attribute Pro 3 - там есть маска и последовательные инкременты декременты, но нет рандома :)
slide777
По поводу первых двух позиций — это стандартный функционал TC, реализуемый через стандартный же диалог изменения атрибутов. С использованием возможностей встроенного плагина tc. Разбираемся в диалоге и читаем справку.
Запрос на рандомные значения в диапазоне требует хотя бы минимальной аргументации в пользу их нужности. С конкретными примерами.
По поводу первых двух позиций — это стандартный функционал TC, реализуемый через стандартный же диалог изменения атрибутов. С использованием возможностей встроенного плагина tc. Разбираемся в диалоге и читаем справку.
Запрос на рандомные значения в диапазоне требует хотя бы минимальной аргументации в пользу их нужности. С конкретными примерами.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
именно рандом мне и нужен, ясен перец что тоталом или другой любой утилитой можно изменять по маске по значению и прочим стандартным возможностям :)
реальность:
собрал я архив документации сегодня, который эмулирует задним числом работу в прошлом для сами понимаете чего
нужно чтобы файлы и папки документации по датам были сэмулированы правдободобно :D
как будто действительно проект был сделан в таком то году в такое то рабочее время :)
реально нужная вещь
реальность:
собрал я архив документации сегодня, который эмулирует задним числом работу в прошлом для сами понимаете чего
нужно чтобы файлы и папки документации по датам были сэмулированы правдободобно :D
как будто действительно проект был сделан в таком то году в такое то рабочее время :)
реально нужная вещь
с 1.1.2002 по 31.12.2004 без выходныхslide777 писал(а):с 12.05.2002 18:12:41 рандомно до 29.02.2004 19:03:17
Код: Выделить всё
@echo off &setlocal enableextensions
rem Автор: Tol!k
for /f "delims=" %%i in ('dir /b/s "d:\path\*.*"') do (title touch "%%i" &call :loop "%%i")
goto :eof
:loop
rem с 1.1.2002 по 31.12.2004 включительно
set /a yy=3*%random%/32768+2002
set /a mm=12*%random%/32768+101
set /a dd=31*%random%/32768+101
rem с девяти до пяти я работал героем
set /a hh=8*%random%/32768+109
set /a nn=60*%random%/32768+100
touch.exe -t %yy%%mm:~-2%%dd:~-2%%hh:~-2%%nn:~-2% %1 2>nul ||call :loop %1
Код: Выделить всё
@echo off &setlocal enableextensions
rem Автор: Tol!k
for /f "delims=" %%i in ('dir /b/s "d:\path\*.*"') do (title touch "%%i" &call :looop "%%i")
goto :eof
:looop
rem с 2002.05.05 до 2004.05.05 (исключая)
set /a yymmdd=20000*%random%/32768+20020505
rem с девяти до пяти я работал героем
set /a hh=8*%random%/32768+109
set /a nn=60*%random%/32768+100
touch.exe -t %yymmdd%%hh:~-2%%nn:~-2% %1 2>nul ||call :looop %1