首页 > 其他分享 >转移Nuget目录

转移Nuget目录

时间:2024-07-17 11:20:18浏览次数:6  
标签:NUGET Item Move System 转移 Nuget source Path 目录

以下是一段PS脚本,将C盘中的NUGET转移到D盘,并写入环境变量 请首先输入以下命令,检查变量是否和我预定一致, `dotnet nuget locals all --list` 如果一致,则直接用下面的脚本即可完成导入

 


# 定义新的缓存路径
$newHttpCachePath = "D:\LocalCache\nuget\v3-cache"
$newPackagesPath = "D:\LocalCache\nuget\packages"
$newPluginsCachePath = "D:\LocalCache\nuget\plugins-cache"
$newScratchPath = "D:\LocalCache\nuget\NuGetScratch"

# 定义旧的缓存路径
$oldHttpCachePath = "C:\Users\Admin\AppData\Local\NuGet\v3-cache"
$oldPackagesPath = "C:\Users\Admin\.nuget\packages"
$oldScratchPath = "C:\Users\Admin\AppData\Local\Temp\NuGetScratch"
$oldPluginsCachePath = "C:\Users\Admin\AppData\Local\NuGet\plugins-cache"

# 创建新的文件夹
New-Item -ItemType Directory -Force -Path $newHttpCachePath
New-Item -ItemType Directory -Force -Path $newPackagesPath
New-Item -ItemType Directory -Force -Path $newPluginsCachePath
New-Item -ItemType Directory -Force -Path $newScratchPath

# 移动文件并显示进度
function Move-WithProgress {
    param (
        [string]$source,
        [string]$destination
    )
    $items = Get-ChildItem -Path $source -Recurse
    $totalItems = $items.Count
    $currentItem = 0

    foreach ($item in $items) {
        $relativePath = $item.FullName.Substring($source.Length + 1)
        $targetPath = Join-Path -Path $destination -ChildPath $relativePath
        $targetDir = Split-Path -Path $targetPath -Parent

        if (-not (Test-Path -Path $targetDir)) {
            New-Item -ItemType Directory -Force -Path $targetDir | Out-Null
        }

        Move-Item -Path $item.FullName -Destination $targetPath -Force
        $currentItem++
        $progress = [math]::Round(($currentItem / $totalItems) * 100)
        Write-Progress -Activity "Moving files" -Status "$progress% complete" -PercentComplete $progress
    }
}

Move-WithProgress -source $oldHttpCachePath -destination $newHttpCachePath
Move-WithProgress -source $oldPackagesPath -destination $newPackagesPath
Move-WithProgress -source $oldScratchPath -destination $newScratchPath
Move-WithProgress -source $oldPluginsCachePath -destination $newPluginsCachePath

# 设置永久用户环境变量
[System.Environment]::SetEnvironmentVariable("NUGET_HTTP_CACHE_PATH", $newHttpCachePath, [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable("NUGET_PACKAGES", $newPackagesPath, [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable("NUGET_PLUGINS_CACHE_PATH", $newPluginsCachePath, [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable("NUGET_SCRATCH", $newScratchPath, [System.EnvironmentVariableTarget]::User)

# 刷新当前会话的环境变量
$env:NUGET_HTTP_CACHE_PATH = $newHttpCachePath
$env:NUGET_PACKAGES = $newPackagesPath
$env:NUGET_PLUGINS_CACHE_PATH = $newPluginsCachePath
$env:NUGET_SCRATCH = $newScratchPath

Write-Output "环境变量和文件夹已成功设置和移动。"

标签:NUGET,Item,Move,System,转移,Nuget,source,Path,目录
From: https://www.cnblogs.com/push-lou/p/18306898

相关文章

  • 《YOLOv10改进实战专栏》专栏介绍 & 专栏目录
    《YOLOv10改进实战专栏》介绍及目录YOLOv10官方仓库地址专栏地址:点击跳转专栏导航如下:......
  • 关于静态文件目录与模板引用和Nginx location块的适配设置
    项目配置文件内关于静态文件的设置项#静态文件的URL前缀STATIC_URL='/static/'#项目根目录的静态文件目录STATICFILES_DIRS=[os.path.join(BASE_DIR,'static'),os.path.join(BASE_DIR,'parallel/static'),os.path.join(BASE_DIR,'blog/static&#......
  • P2754 [CTSC1999] 家园 / 星际转移问题题解
    开始时,将源点连一条权值为\(k\)的边到地球。然后以时间分层,从上一层的点连接到下一层的点,权值为飞船载人数量,并将代表月球的点连接到汇点。每加一层,在上一层的基础上进行增广,看能不能增加流量,如果流量变为\(k\),那么证明运送完成。可以证明枚举时间最多到\(1500\),图的点数不......
  • C# 返回文件夹及子目录
    ///<summary>///返回文件夹及子目录的文件夹///</summary>///<paramname="directory"></param>///<paramname="files"></param>publicstaticvoidGetFiles(stringdirectory,refDi......
  • DedeCMS模板目录的文件目录结构
    templets ┣━default·······································默认模板目录 ┃   ┣━style·······································模板CSS样式目录 ┃   ┣━js··......
  • 【价格型需求响应】基于Logistic函数的负荷转移率模型需求响应研究(Matlab代码实现)
     ......
  • 在Linux中,如何编写shell脚本将当前目录下大于10K的文件转移到/tmp目录下?
    编写一个shell脚本来将当前目录下大于10K的文件转移到/tmp目录下,你可以遵循以下步骤:打开你的Linux终端。使用文本编辑器创建一个新的shell脚本文件,例如使用nano或vim:nanomove_large_files.sh在打开的编辑器中,编写以下脚本内容:#!/bin/bash#定义目标目录TARGET_DIR......
  • Windows10下的docker容器启动命令docker -v相对路径的挂载目录位置
    今天研究docker容器时,启动命令使用到了docker-vtest:/app/backend/data有个从宿主机写入文件到容器这个目录的需求,于是就尝试在宿主机上找到这个test目录找了一圈都没找到,于是四处搜索,终于在stackoverflow上面找到了https://stackoverflow.com/questions/61083772/where-are-......
  • QT工程构建目录下,将生成的中间文件和可执行文件分离
    在QT工程中,当我们选择了构建目录后,编译生成程序后,总会发现在debug目录下会有混淆着各类文件,如下图很多时候,我们又仅仅只需要可执行文件或者自定义的动态链接库。如下图 当然,如果不觉得麻烦,有人会选择手动删除。但是这并不是最佳解决方案,因为还有更简单的只需要在.pro......
  • 目录
    写了很多闲话和游记,以后可能还会接着写。但是有时候看着以前的闲话就很想通通删掉。大概就是现在的自己无法认可以前的自己的感觉。但是再考虑,其实也没人会去翻我之前的闲话。特别是如果博客没有目录,各种东西混在一次的时候。于是就有了这个目录。实在想删的文章并没有被收......