小编Dwe*_*rly的帖子

wsl2里面的文件物理存储在哪里?

我已经在我的 Windows 机器上安装了 wsl2,但我无法弄清楚文件的实际存储位置。
请注意,我并不是说我想在文件资源管理器中浏览它们 - 我知道这可以通过在资源管理器中输入来完成\\wsl$\
如果我不得不猜测,我会说文件存储在与操作系统存储相同的硬盘驱动器中。

所以实际上我有两个相关的问题。

  1. 文件存储在哪里?
  2. 如果它们存储在我的操作系统的硬盘驱动器中,我可以以某种方式将我的 wsl 重新定位到另一个硬盘驱动器吗?

编辑:
我能够找到安装路径,在我的机器中路径是:
C:\Users\Eliran\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState

有没有办法将它安装到另一个位置?

windows-subsystem-for-linux wsl-2

23
推荐指数
3
解决办法
2万
查看次数

从多个文件创建powershell模块,使用模块引用

我使用单独的源文件创建PowerShell脚本模块.从其他内部源文件引用模块内部源函数的规范方法是什么?

例如,如果我的模块是从文件"foo"和"bar"中的PS源代码创建的; 并且"foo"中的函数需要调用"bar"中的函数,这样做的最佳方法是什么?

看起来点源并不是一个好主意.也没有制作组件文件("foo"和"bar")psm1文件.这是psd1文件中"ScriptsToProcess"字段背后的想法吗?

我在考虑这个错误(非"PowerShelly")吗?我应该把所有东西都放到一个psm1吗?

powershell

9
推荐指数
2
解决办法
5814
查看次数

有一种聪明的方法可以动态调用类型相关的扩展方法吗?

下面的代码将编译但在运行时失败.它只是为了让我知道我正在尝试做什么.我想要做的是创建一个接受对象集合的方法(实际上是"无类型"集合),如果此集合由单个类型的数字组成,则使用Average()扩展方法返回平均值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace nnConsole {
    class Program {
        static void Main(string[] args) {
            var ints = new object[4] { 1, 2, 3, 4 };
            var dbls = new object[4] { 1.0, 2.0, 3.0, 4.0 };
            Console.WriteLine(ReallyMean(ints));    
            Console.WriteLine(ReallyMean(dbls));    
            }

        static public double ReallyMean(ICollection<object> data) {
            var unique = data.Distinct();
            var types = unique.Select(x => x.GetType()).Distinct();
            if (types.Count() == 1) {
                if (types.First().IsValueType) {
                    /***********************
                     * magic here to create ddata var that …
Run Code Online (Sandbox Code Playgroud)

c# linq

6
推荐指数
1
解决办法
157
查看次数

您可以在正在构造的结构中引用先前初始化的字段吗?

创建结构体的新实例时,您可以引用正在构造的结构体中先前初始化的字段吗?

示例代码:

use std::fs::File;
use std::io::BufReader;
use std::path::PathBuf;

#[derive(Debug)]
pub struct Test {
    file_handle: File,
    rdr: BufReader<File>,
}

impl Test {
    pub fn new(filepath: std::path::PathBuf) -> Self {
        Self {
            file_handle: File::open(&filepath)
                .expect(format!("Unable to open file {:?}", filepath).as_str()),
            rdr: BufReader::new(file_handle),
        }
    }
}

fn main() {
    let x = Test::new(PathBuf::from("my file"));
    println!("{:?}", x);
}
Run Code Online (Sandbox Code Playgroud)

生成错误:

use std::fs::File;
use std::io::BufReader;
use std::path::PathBuf;

#[derive(Debug)]
pub struct Test {
    file_handle: File,
    rdr: BufReader<File>,
}

impl Test {
    pub fn new(filepath: std::path::PathBuf) -> Self …
Run Code Online (Sandbox Code Playgroud)

rust

5
推荐指数
1
解决办法
680
查看次数

Get-ChildItem 与直接使用 .NET Framework 的 [System.IO.Directory]::GetFiles() 方法和 UNC 路径

当使用 UNC 路径(例如:)时,我可以在从 UNC 路径使用命令( )\\machine\share\dir时获取文件列表,但如果我尝试,我会得到一个空列表(不是错误,只是没有项目)。我以为PS是建立在.NET框架之上的。有谁知道为什么.NET方法返回空列表时会使用 UNC 路径?dirGet-ChildItem[System.IO.Directory]::GetFilesGet-ChildItemGetFiles

.net filesystems powershell

4
推荐指数
1
解决办法
1770
查看次数

powershell 哈希表键与对象属性

我对 PowerShell 如何处理 Hashtable 键与对象属性感到困惑。

考虑:

$list = @{
    'one' = @{
        name  = 'one'
        order = 80
        };

    'two' = @{
        name  = 'two'
        order = 40
        };

    'twotwo' = @{
        name  = 'twotwo'
        order = 40
        };

    'three' = @{
        name  = 'three'
        order = 20
        }
    }

$list.Values|group-object { $_.order }
$list.Values|group-object -property order
Run Code Online (Sandbox Code Playgroud)

第一个组对象给了我我期望的(三个组),第二个没有(一个大组)。显然 Hashtable 键不是对象属性,但在语法上它们以相同的方式(var.name)被引用。

第二个组对象实际上在做什么?
它认为“订单”属性是什么?

powershell

2
推荐指数
1
解决办法
911
查看次数

首次发布时显示片段

我只是在第一次启动应用程序时尝试显示片段.我正在努力展示片段,但它始终显示,我只希望它在首次发布时显示.我正在displayView导航抽屉drawerlistener中的一个方法中替换片段(这可能是我的问题),我试图在我的方法中使用布尔和共享首选项.关于为什么这不起作用的任何想法

mDrawerLayout.setDrawerListener(mDrawerToggle);

        if (savedInstanceState == null) {
            // on first time display view for first nav item
            firstTimeFrag();
        }
    }
    private boolean firstTimeFrag(){
        SharedPreferences pref = getPreferences(MODE_PRIVATE);

        boolean ranBefore = pref.getBoolean("RanBefore",false);
        if(!ranBefore){
        SharedPreferences.Editor editor = pref.edit();
        editor.commit();
        Fragment fr = new ifFirstTimeFrag();
        FragmentManager fm = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fm.beginTransaction();
        fragmentTransaction.replace(R.id.frame_container, fr);
        fragmentTransaction.commit();
    }else{
            displayView(0);
        }
    return ranBefore;
}
Run Code Online (Sandbox Code Playgroud)

android boolean sharedpreferences android-fragments

1
推荐指数
1
解决办法
649
查看次数

为什么我的程序没有提供正确的输出?

逻辑错在哪里?我发现它不正确,但它给出的输出只是1.它应该给出所有阿姆斯壮的数字从1到500.

     #include<stdio.h>
     #include<conio.h>
     void main()
         {
         clrscr();
         int a,b,c=0 ,d,i=1;
         while(i<=500)
             {
             b=i;
             while(b>0)
                 {
                 a=b%10;
                 c=(a*a*a)+c;
                 b=b/10;
                 }
             if(c==i)
    `            printf("%d",i);
             i++;
             }
          getch();
          }  
Run Code Online (Sandbox Code Playgroud)

c

-1
推荐指数
1
解决办法
80
查看次数