| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- @echo off
- setlocal enabledelayedexpansion
- :: 获取实际存在的盘符
- echo 正在搜索可用的盘符...
- set count=0
- for /f "skip=1 tokens=2 delims==" %%d in ('wmic logicaldisk get name /value') do (
- if exist %%d (
- set /a count+=1
- echo !count!. %%d
- set "drive!count!=%%d"
- )
- )
- :: 如果没有找到可用盘符,退出
- if %count%==0 (
- echo 未找到可用的盘符,脚本退出。
- pause
- exit /b
- )
- :: 提示用户选择盘符
- set /p choice=请选择要转移到的盘符序号:
- :: 获取用户选择的盘符
- set "target_drive=!drive%choice%!"
- :: 设置默认路径
- set "default_path=%target_drive%Ollama_Models"
- :: 提示用户确认路径
- set /p target_path=请输入目标路径 (默认为 %default_path%):
- :: 如果用户没有输入路径,则使用默认路径
- if "%target_path%"=="" set "target_path=%default_path%"
- :: 创建目标路径
- if not exist "%target_path%" (
- mkdir "%target_path%"
- )
- :: 假设Ollama模型文件在C:\Ollama_Models
- set "source_path=C:\Ollama_Models"
- :: 转移文件
- echo 正在转移文件从 %source_path% 到 %target_path%...
- xcopy "%source_path%" "%target_path%" /E /H /C /I /Y
- :: 获取当前环境变量值
- set "current_ollama_path="
- for /f "tokens=2,*" %%a in ('reg query "HKCU\Environment" /v Ollama_Models 2^>nul') do (
- set "current_ollama_path=%%b"
- )
- :: 如果环境变量存在,显示当前值并提示是否修改
- if defined current_ollama_path (
- echo 当前环境变量 Ollama_Models 的值为: %current_ollama_path%
- set /p modify_env=是否根据新路径更新环境变量? (Y/N, 默认 N):
- if /i "%modify_env%"=="Y" (
- setx Ollama_Models "%target_path%"
- echo 环境变量已更新为: %target_path%
- ) else (
- echo 环境变量未修改。
- )
- ) else (
- :: 如果环境变量不存在,提示是否添加
- set /p add_env=是否将新路径添加到环境变量? (Y/N, 默认 N):
- if /i "%add_env%"=="Y" (
- setx Ollama_Models "%target_path%"
- echo 环境变量已添加: %target_path%
- ) else (
- echo 未添加环境变量。
- )
- )
- echo 文件转移完成!
- pause
|