powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Создание директории со случайным именем для временных файлов
10 сообщений из 10, страница 1 из 1
Создание директории со случайным именем для временных файлов
    #34036471
Фотография otistarda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нужно в процессе запуска DOS-программы в Y2K создавать директорию со случайным именем для временных файлов. Присвоения SET HOME=%RANDOM% в batch-файле при запуке по ярлыку (*.pif) не происходит.
*.pif необходим ввиду использования в программе зарезервированных клавиш.
Подскажите, как можно штатными средствами присвоить случайное значение переменной. Есть ли что-то подобное %RANDOM% в Win9x?
...
Рейтинг: 0 / 0
Создание директории со случайным именем для временных файлов
    #34036562
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
otistardaМне нужно в процессе запуска DOS-программы в Y2K создавать директорию со случайным именем для временных файлов. Присвоения SET HOME=%RANDOM% в batch-файле при запуке по ярлыку (*.pif) не происходит.
*.pif необходим ввиду использования в программе зарезервированных клавиш.
Подскажите, как можно штатными средствами присвоить случайное значение переменной. Есть ли что-то подобное %RANDOM% в Win9x? Именно случайный набор нужен? А время + дата не подойдут?
...
Рейтинг: 0 / 0
Создание директории со случайным именем для временных файлов
    #34036672
Фотография otistarda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мысль интересная. А как присвоить переменной, например, время.
...
Рейтинг: 0 / 0
Создание директории со случайным именем для временных файлов
    #34036681
Андрей Спильный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
otistardaМне нужно в процессе запуска DOS-программы в Y2K создавать директорию со случайным именем для временных файлов. Присвоения SET HOME=%RANDOM% в batch-файле при запуке по ярлыку (*.pif) не происходит.
*.pif необходим ввиду использования в программе зарезервированных клавиш.
Подскажите, как можно штатными средствами присвоить случайное значение переменной. Есть ли что-то подобное %RANDOM% в Win9x?

нет, Random есть только в 2k и выше, если "Command Extensions are enabled"

проблему можно решить например так


Код: 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.
{Delphi code}
program Project1;

{$APPTYPE CONSOLE}

uses
  Classes,
  SysUtils,
  Windows;

var
  path,dir:string;
  guid:TGUID;
  c:Integer;

begin
  path:=ParamStr( 1 );
  c:= 0 ;
  dir:='';
  repeat
    CreateGUID(guid);
    dir:=GUIDToString(guid);
    Inc(c);
  until DirectoryExists(path+dir) or (c> 100 );
  Writeln(dir);
End.

использовать в .bat так
Код: plaintext
1.
2.
3.
Set TempDir= 0 
@FOR /F "tokens=*" %%i in ('project1 %temp%\') do (@Set TempDir=%%i)
echo %TempDir%
...
Рейтинг: 0 / 0
Создание директории со случайным именем для временных файлов
    #34036786
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть сильное сомнение, что такой код отработает в pif для DOS программ.
проще уж тогда прогу написать, которая будет просто создавать каталог со случайным именем
...
Рейтинг: 0 / 0
Создание директории со случайным именем для временных файлов
    #34036841
Андрей Спильный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--null--есть сильное сомнение, что такой код отработает в pif для DOS программ.

тогда просто проверьте ;)
--null--
проще уж тогда прогу написать, которая будет просто создавать каталог со случайным именем
а что по вашему написано выше? что мешает заменить Writeln на CreateDir?
...
Рейтинг: 0 / 0
Создание директории со случайным именем для временных файлов
    #34036917
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дело все в том, что в command.com в W2k даже %RANDOM% будет создаваться.
Ибо это видимо не совсем COMMAND.COM :-) Во всяком случае он как-то эту переменную берет, ибо она ведь генерируется cmd.exe (по документации Microsoft)
А вот в pif-ах не будет ни %RANDOM%, ни приведенных Вами конструкций.
Просто проверьте (c)
Создайте pif c autoexec.nt и в нем попробуйте это исполнить.
Я так понял, автору вопроса именно это надо.

авторчто мешает заменить Writeln на CreateDir?
согласен
...
Рейтинг: 0 / 0
Создание директории со случайным именем для временных файлов
    #34037030
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, ДОС не позволяет присвоить переменной другую переменную или результат функции...
А с параметрами не устроит? Скажем, так: один батник (который привязан к pif'у) получает значение %RANDOM% и передает его как параметр второму батнику, который и делает всю работу. При этом у него (второго) всегда будет глобальный параметр %1, правда, константой.
...
Рейтинг: 0 / 0
Создание директории со случайным именем для временных файлов
    #34037043
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример:
батник №1c:\test.bat %TEMP%\%RANDOM%\ запустит батник c:\test.bat с параметром, в моем случае, C:\TEMP\25947\

батник №2 (c:\test.bat)mkdir %1
dir c:\ >> %1\dir_c.txt

Результат: создан файл C:\TEMP\25947\dir_c.txt
...
Рейтинг: 0 / 0
Создание директории со случайным именем для временных файлов
    #34037063
Фотография rrrrrrrrrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... или совсем цинично:
C:\test.bat %TEMP%\%RANDOM%\ в pif'е,
а в тексте батника адресоваться к %1
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Создание директории со случайным именем для временных файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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