Хранение файлов жесткого диска в виртуальной памяти без изменения путей к файлам

Я полагаю, что мой вопрос очень конкретный, но я надеюсь, что может быть решение уже.

Я хочу сделать несколько папок доступными в виртуальной памяти, но не изменять способ доступа к ним, как инструмент виртуализации, который скопирует файлы в виртуальную память и перенаправляет операцию ввода-вывода в эти файлы в виртуальную память.

У меня огромные исходные папки, которые часто перекомпилируются maven, и я хочу увеличить общую скорость сборки, сделав эти источники доступными в ram вместо hdd.

Я знаком с ImDisk, но я не могу отключить среду, изменив пути к источникам (есть много уже настроенных инструментов).

Поэтому возникает вопрос: существует ли какое-либо решение для описанной выше проблемы?

С уважением

  • Как настроить Windows, чтобы не отключить мой внешний диск?
  • Должен ли я установить DirectX 9.0 (c) на мою машину RTM для Windows 7?
  • Обновления Windows и поиск драйверов потребляют огромное количество оперативной памяти.
  • Можно ли скрыть идентификатор SSID для Windows 7 Soft AP
  • Удержание параметров командной строки (цвет, название)
  • Windows 7 изменит пароль другого пользователя без использования «Установить пароль»
  • Тройная загрузка Windows 8 Consumer Preview с Windows 7 и Ubuntu 11.10
  • Как включить / отключить аппаратное обеспечение из командной строки Windows 7
  • One Solution collect form web for “Хранение файлов жесткого диска в виртуальной памяти без изменения путей к файлам”

    Возможное решение

    При условии, что:

    • Вы уже создали RAM-диск в физической памяти, назначенный R: (любая другая буква тоже прекрасна).
    • Вы хотите сделать папку C:\Folder1 доступной в ОЗУ для более быстрого доступа.
    • Folder1 хранится на локальном томе в формате NTFS.

    Применение изменений

    1. Закройте все программы, к которым может обращаться Folder1 .
    2. Переименуйте Folder1 в Folder1.zTarget (фактическое имя не важно, если оно отличается).
    3. Скопируйте Folder1.zTarget в RAM ( R: Folder1.zTarget .
    4. Создайте ссылку для соединения каталога с именем Folder1 указывающую на R:\Folder1.zTarget .

    С этого момента каждый раз, когда вы C:\Folder1 доступ к C:\Folder1 , на самом деле вы получаете доступ к данным, хранящимся на RAM-диске ( R:\Folder1.zTarget ).

    Возвращение назад

    1. Закройте все программы, к которым может обращаться Folder1 (теперь ссылка на соединение с каталогом).
    2. Если какой-либо файл внутри Folder1 был изменен, скопируйте Folder1.zTarget из RAM ( R: Folder1.zTarget на диск ( C: Folder1.zTarget чтобы сохранить изменения.
    3. Удалите ссылку на соединение каталога с именем Folder1 .
    4. Переименуйте Folder1.zTarget Вернитесь в Folder1 .

    Пакетная автоматизация

    Несмотря на то, что большинство шагов можно выполнить вручную, нет встроенного способа создания ссылок на узлы каталогов, но из интерфейса командной строки ( mklink ). Пока мы это делаем, мы можем сэкономить время, автоматизируя весь процесс.

    Пример скрипта

    После краткой инициализации скрипт проверяет, есть ли папки, чье имя содержит собственный суффикс. Затем он продолжит применение или возврат изменений для каждой папки, установленной в переменной folders , как описано выше – за исключением шагов «закрыть все программы».

     @echo off set folders="C:\Folder1","C:\Some other\folder" set suffix=zTarget set ramdisk=R: for %%G in (%folders%) do ( dir "%%~dpG" /a:d | find ".%suffix%" >nul goto :check ) :check if "%errorlevel%"=="0" goto :revert :apply for %%G in (%folders%) do ( if exist "%%~G\" ( ren "%%~G" "%%~nG.%suffix%" xcopy "%%~G.%suffix%" "%ramdisk%%%~pnG.%suffix%" /e /i /f /h /r /k /y /j mklink /j "%%~G" "%ramdisk%%%~pnG.%suffix%" echo. )) goto :end :revert for %%G in (%folders%) do ( if exist "%%~G.%suffix%\" ( xcopy "%ramdisk%%%~pnG.%suffix%" "%%~G.%suffix%" /e /i /f /h /r /k /y /j rd "%%~G" ren "%%~G.%suffix%" "%%~nG" echo. )) :end pause exit /b 
    Interesting Posts

    Кто должен владеть корневой папкой диска?

    Менеджер паролей для нескольких компьютеров?

    Перенесите обновление определений вирусов на другой компьютер

    Каков рекомендуемый способ перемещения виртуальной виртуальной машины VM на другой компьютер?

    Невозможно файлы TFTP clonezilla с TFTP-сервера WDS во время загрузки PXE

    Как поддерживать различные активные сеансы в одном браузере Firefox и Internet Explorer?

    Как найти мои предыдущие IP-адреса

    Запуск задач и запуск программ, когда Windows 7 подключена или отключена?

    Как отключить Control-W в Windows XP?

    Как изменить экран входа / блокировки по умолчанию в Windows 8?

    Инструмент для создания кнопок fn-x? Archlinux, handler.sh

    Автоматическое выполнение команд при открытии командной строки

    Windows 7: Как загрузиться в обычном режиме после неправильного закрытия?

    Возможно, умирающий жесткий диск, но читает, пишет работу – не уверен в записи журнала

    Последующий удаленный nohup с tcsh

    Давайте будем гением компьютера.