Страница 2 из 3

Добавлено: Чт фев 03, 2011 09:40
Flasher
sa писал(а):Или кому-то помогло?
Там свои хитрости с кавычками в батниках. Я пока только предполагаю, т.к. сам не проверял за ненадобностью использования. Если тебе не помогло, то уже предложение отклоняется. Подождём, что MVV напишет.

Добавлено: Чт фев 03, 2011 12:00
MVV
Да, в моем батнике косяк:

Код: Выделить всё

do call %0 go %%f
Правильный вариант:

Код: Выделить всё

do call %0 go "%%f"
Исправил батник в соотв. посте.
Flasher писал(а):
c930 писал(а):из-за пробелов похоже в именах заданных каталогов.
А что мешает %WL заключить в кавычки?
Это не поможет, т.к. путь к файлу списка тотал при необходимости сам заключает в кавычки. А пути в файле списка - нет.
Win2k говорит, что FixDate.exe не является приложением Win32
Блин, и это хотел исправить. Проблема тут в том, что у Win2k версия 5.0, а 10-я студия ставит требуемую версию системы 5.01, и никак это не исправить (большую версию задать можно, а меньшую - нет). Я точно знаю, что программка пойдет на Win2k, поэтому можно тупо исправить пару байт в PE-заголовке. Файл в посте обновил.

Добавлено: Чт фев 03, 2011 12:44
Batya
MVV писал(а):Исправил батник в соотв. посте.
А не нужно ещё в

Код: Выделить всё

"%~dp0FixDate.exe" %2\
вместо %2\ писать "%~2" :?:

Добавлено: Чт фев 03, 2011 13:01
MVV
Batya писал(а):А не нужно ещё в

Код: Выделить всё

"%~dp0FixDate.exe" %2\
вместо %2\ писать "%~2" :?:
Не принципиально. Для получения параметра командной строки я использую давно написанную функцию, которая считает концом параметра первый пробел, не заключенный в кавычки, и удаляет из параметра все кавычки, так что строки D:"1 2""3 4"\5 и "D:\1 2\3 4\5" равнозначны.

Добавлено: Чт фев 03, 2011 13:25
Batya
MVV писал(а):Для получения параметра командной строки я использую давно написанную функцию
И здесь же, как я понял, двойные слэши заменяются на одинарные?

Добавлено: Чт фев 03, 2011 14:04
MVV
Нет, не заменяются. В этом нет необходимости. Системные функции прекрасно переваривают пути с двойными слэшами. :)

Код: Выделить всё

"D:\name with spaces\\another name with spaces\1 2 3"
"D:\name with spaces\\another name with spaces"
"D:\name with spaces\"
Для продолжения нажмите любую клавишу . . .
В выводе видны пути, передаваемые утилите - разве что без завершающего слэша. Утилита лишь приписывает в хвост \* для перебора элементов, и передает оригинальный путь функции открытия файла для установки даты.

Добавлено: Чт фев 03, 2011 18:27
Tol!k
c930 писал(а):The procedure * could not be located in the DLL libintl3.dll
Хм. Я специально проверял – работает без длл'ек (xp sp3 rus)
С длл'ками
Брал отсюда

Добавлено: Чт фев 03, 2011 18:48
Flasher
Tol!k писал(а):..depositfiles.com
Здрасте..
Перезалил.

Добавлено: Чт фев 03, 2011 19:18
Tol!k
Ой. Оказывается, даже более новые версии этих длл'ек у меня уже лежали рядом с sed.exe :roll:

Добавлено: Чт мар 24, 2011 20:40
slide777
Уважаемые кулхацкеры!

был бы рад утилите для смены атрибутов времени со следующими возможностями:

- смена даты и времени создания, модификации, доступа к файлам и папкам
- с применением ко всем подпапкам
- с возможностью заполнения атрибутов рандомными значениями в заданном периоде, например с 12.05.2002 18:12:41 рандомно до 29.02.2004 19:03:17
- возможность отдельно задавать для всех трех дат (создание, модификация, доступ) эти периоды

нашел Magic Attribute Pro 3 - там есть маска и последовательные инкременты декременты, но нет рандома :)

Добавлено: Чт мар 24, 2011 20:52
Avada
slide777
По поводу первых двух позиций — это стандартный функционал TC, реализуемый через стандартный же диалог изменения атрибутов. С использованием возможностей встроенного плагина tc. Разбираемся в диалоге и читаем справку.
Запрос на рандомные значения в диапазоне требует хотя бы минимальной аргументации в пользу их нужности. С конкретными примерами.

Добавлено: Чт мар 24, 2011 23:58
slide777
именно рандом мне и нужен, ясен перец что тоталом или другой любой утилитой можно изменять по маске по значению и прочим стандартным возможностям :)

реальность:
собрал я архив документации сегодня, который эмулирует задним числом работу в прошлом для сами понимаете чего
нужно чтобы файлы и папки документации по датам были сэмулированы правдободобно :D
как будто действительно проект был сделан в таком то году в такое то рабочее время :)
реально нужная вещь

Добавлено: Сб мар 26, 2011 18:47
Tol!k
slide777 писал(а):с 12.05.2002 18:12:41 рандомно до 29.02.2004 19:03:17
с 1.1.2002 по 31.12.2004 без выходных

Код: Выделить всё

@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

Добавлено: Вс мар 27, 2011 13:41
Tol!k

Код: Выделить всё

@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
Срок можно задать с точностью хоть до месяца, хоть до дня.

:!: работает медленнно

Добавлено: Чт мар 31, 2011 03:28
slide777
Спасибо ! :)