小编RBT*_*RBT的帖子

Powershell 编辑 mp3 信息

我正在寻找一种在 PowerShell 脚本中编辑 mp3 文件信息(如艺术家、专辑等)的方法。

我找到了一种方法来获取 .mp3 文件所需的信息,但不知道如何修改它们。

$songs = Get-ChildItem $dir -Filter *.mp3;
$shell = new-object -com shell.application;

Foreach ($song in $songs) {
    $shellfolder = $shell.namespace($dir);
    $shellfile = $shellfolder.parsename($song);

    $title = $shell.namespace($dir).getdetailsof($shellfile,21);
}
Run Code Online (Sandbox Code Playgroud)

使用 getDetailsOf (带有 21),我可以获取歌曲标题,但不存在 setDetailsOf ,所以我不知道如何修改另一首歌曲的标题。

powershell mp3

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

使用 ClosedXML 创建下拉列表

我在我的项目中实现了Excel模板下载。我使用ClosedXML

我有两张Excel表

Sheet1:在此工作表中,我有一个名为“类型”的列 ,我可以在其中创建下拉列表,它是第三列。

Sheet2:在这张表中,我有一个名为“类型”的列 ,其范围地址为:B2:B4,它是第二列。

类型值为:

Employee

Student

Teacher 
Run Code Online (Sandbox Code Playgroud)

现在,我想创建一个下拉列表。

我在ClosedXML中创建了一个下拉列表,代码是:

//Getting the range of sheet 2

var range = workbook.Worksheet(2).Range(workbook.Worksheet(2).Cell(2,2).Address,workbook.Worksheet(2).Cell(4,2).Address);

//Applying sheet 2's range with sheet 1 
workbook.Worksheet(1).Column(3).SetDataValidation().List(range:range);

wb.Worksheet(1).Column(3).SetDataValidation().IgnoreBlanks = true;
wb.Worksheet(1).Column(3).SetDataValidation().InCellDropdown = true;
Run Code Online (Sandbox Code Playgroud)

我在单元格的右端看到了下拉符号,但没有得到其中的值。

.net c# excel closedxml

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

在Windows 10上安装SQL Server 2017开发人员版时出现"糟糕"错误

我正在尝试使用"基本"安装类型安装SQL Server 2017 Developer Edition,但它给出了以下错误消息:

糟糕!

无法安装SQL Server(setup.exe).

在此输入图像描述

正在尝试安装的构建版本是 14.1710.3866.2

我已经尝试过多次运行安装程序,但每次都有相同的错误屏幕.还尝试使用管理权限启动安装程序,但没有运气.

有没有人知道这个神秘的错误信息以及如何克服它?它并没有指向我可以查看的任何日志文件,以便了解它在我的机器上发生的原因.我下载安装官方网站MS 这里.

更新:在@TheGameiswar的帮助下,我能够找到安装尝试的日志文件.只有我从命名文件中找到的相关内容Detail_Rules.txt如下:

(01)2017-11-17 14:37:43 Slp:媒体中不存在本地化版本和ENU帮助.chm文件.这可能意味着UI上没有适当的帮助文件.错误消息:媒体中缺少帮助.chm文件'C:\ SQLServer2017Media\RulesEng\1033_ENU_LP\x64\1033\help\s11ch_setup.chm'.

我不确定它是否是错误的根本原因.

sql-server installation sql-server-2017

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

Saas:单实例、多实例、单租户、多租户?

我一直在阅读有关实例和租户以及 Saas 架构的内容。我的问题如下(如果您发现我对以下任何术语有错误,请更正):

1)实例:一个软件的实例是否只是该软件的一个副本,有自己的数据库?还有比这更重要的事情吗?

2)租户:租户是对单个实例共享一组通用访问权限的用户/用户组吗?

3)单实例:如果 Saas 提供商提供单实例服务,这是否意味着他们只创建其软件的单个实例?或者这是否意味着可以有多个实例,但每个实例可以为多个租户提供服务?如果是这样,单实例与多租户相同吗?

4)多实例:这是否意味着每个实例只能服务一个租户,或者是否可以有多个实例,每个实例服务多个租户?IE。多实例服务可以是单租户或多租户吗?

5)单租户:这是否仅仅意味着单个实例只能为一个租户提供服务,还是也意味着存在多个实例?IE。单租户服务可以同时是单实例和多实例吗?

6)多租户:这是否仅仅意味着单个实例可以为多个租户提供服务,还是意味着只有一个实例?IE。多租户服务可以同时是单实例和多实例吗?

7)总结一下:可以单实例+单租户、单实例+多租户、多实例+单租户、多实例+多租户吗?

saas single-instance multi-tenant multi-instance-deployment server

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

DailyCodingProblem,在数组中找到匹配给定值的对

我对编码相当陌生,并被列入每日编码问题邮件列表并得到了这个问题:

给定一个数字列表和一个数字 k,返回列表中的任意两个数字加起来是否为 k。

我的解决方案(经过一些 stackoverflow 挖掘后)看起来像这样;

function problemOne_Solve()
{
    const k = 17;
    const values = [11, 15, 3, 8, 2];
    for (i=0; i < values.length; i++) {
        if ( values.find( (sum) => { return k-values[i] === sum} ) ) return true;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么它有效。在我看来,带有 fat-arrow 函数的部分关闭了 if 语句条件逻辑内的括号。在 if 语句之后没有这样的括号,我认为这是必需的。

我还想知道如何输出总和为“k”的一对或多对,以进一步构建解决方案。例如,我希望能够在页面上显示对。

javascript

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

无法加载类型“IdentityModel.Client.DiscoveryClient”

我尝试使用身份服务器中的访问令牌授权的方法向 API 发出请求,但是当我使用标头中的承载令牌发送请求时,我的请求失败,结果将我标记为以下错误:

无法从程序集“IdentityModel,Version=4.0.0.0,Culture=neutral,PublicKeyToken=e7877f4675df049f”加载类型“IdentityModel.Client.DiscoveryClient”。在 IdentityServer4.AccessTokenValidation.IdentityServerAuthenticationOptions.ConfigureJwtBearer

c# asp.net identitymodel

6
推荐指数
0
解决办法
2313
查看次数

如果我没有公司,我应该在 Android Studio 中为“公司域”添加什么?

我正在开始我的第一个 Android 应用程序。我想做一个简单的照片分享应用程序。在将应用发布到 Google Play 之前,我需要创建一家公司吗?是否可以在不创建公司的情况下创建、管理、拥有和处理问题?

ide publish google-play android-studio package-name

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

C#/WPF 在 passwordBox 中取消屏蔽密码

每当我单击复选框时,如何取消屏蔽和屏蔽密码框中的密码?我正在使用 C# WPF 模板。

这是我的 .XAML 代码:

<PasswordBox x:Name="passwordBox_password" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" Margin="5" Height="25" />
        <CheckBox x:Name="checkBox_showPassword" Grid.Row="3" Grid.Column="1" Margin="5,0,5,5" Content="show password" Checked="checkBox_showPassword_Checked" Unchecked="checkBox_showPassword_Unchecked" />
Run Code Online (Sandbox Code Playgroud)

这是我的 .CS 代码:

private void checkBox_showPassword_Checked(object sender, RoutedEventArgs e)
    {
        // what to do here ?
    }

    private void checkBox_showPassword_Unchecked(object sender, RoutedEventArgs e)
    {
        // what to do here ?
    }
Run Code Online (Sandbox Code Playgroud)

或者在 WPF 中还有另一种方法吗?

c# passwords wpf checkbox passwordbox

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

HttpClient 的 ReadWriteTimeout 替代方案是什么

我最近切换到HttpClientfrom HttpWebRequest,似乎HttpClient只有正常的超时属性。我找不到任何代表读/写超时的属性。HttpClient我在或 中找不到它HttpClientHandler

.net c# webrequest httpclient

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

如果第一个事件未完成处理时再次发生,会发生什么情况

我的问题是关于DataReceived的事件System.IO.SerialPort。我有一个方法,当该事件发生时会被调用。我用 读取数据myPort.ReadExisting,处理它并保存它。如果我得到一个特定字符,则该点之前的数据将被解释为命令并触发另一个事件。

我的问题是,如果我正在处理接收到的数据并且出现新数据,会发生什么?该方法的新实例是否正在等待旧实例完成?如果不是,则可能会导致冲突,因为该方法的两个实例都使用相同的变量。我在事件处理的概念上是错误的还是有一种优雅的方法来处理这个问题。

我的代码运行良好,结果符合预期,但我的数据处理并不那么复杂。我只是想了解这个问题并避免将来出现问题。我的代码示例是这样的:

private void Port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{

        SerialPort port = (SerialPort)sender;
        int index = m_ports.FindIndex(p => p.PortName == port.PortName);
        string tmpData;
        m_currentData[index] += tmpData = port.ReadExisting();
        Console.WriteLine(tmpData);

        string currentData = m_currentData[index];
        string currentOrder = "";
        while (currentData.Contains(orderEndChar))
        {
            int endCharLocation = currentData.IndexOf(orderEndChar);
            currentOrder = currentData.Substring(0, endCharLocation);
            currentData = currentData.Substring(endCharLocation + 1);
            orderEvent.gotOrder(currentOrder);
            //orderEvent.gotOrder(new EventArgs());
        }
        m_currentData[index] = currentData;

}
Run Code Online (Sandbox Code Playgroud)

这些列表是因为我希望它能够与多个端口一起使用,我可以从中获取命令。

c# serial-port event-handling

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