相关疑难解决方法(0)

提供.NET方法作为委托回调

将.NET方法作为代理回调传递给PowerShell中的.NET对象的语法是什么?

例如:

C#:

public class Class1
{
    public static void MyMethod(Action<object> obj)
    {
         obj("Hey!");
    }
}

public class Class2
{
    public static void Callback(object obj)
    {
         Console.Writeline(obj.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

电源外壳:

[Class1]::MyMethod([Class2]::Callback)
Run Code Online (Sandbox Code Playgroud)

这不起作用.

.net c# powershell delegates powershell-2.0

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

ffmpeg 将 m4s 转换为 mp4

我正在研究 DASH,试图为最终用户优化 QoE。

我有一个视频,并使用 ffmpeg 将其编码为不同的比特率,一切都很好,并且可以使用 dash 播放该视频。

我想要的是将用户收到的片段合并为一个 m4,并将该 m4 转换为 mp4。

我在 ffmpeg 中尝试了很多方法,但它总是给我这个错误:

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x9a9e500] could not find corresponding track id 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x9a9e500] could not find corresponding trex
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x9a9e500] error reading header
test2.m4s: Invalid data found when processing input
Run Code Online (Sandbox Code Playgroud)

那里有segment_1.m4s。

我该如何解决这个问题?

video mp4 ffmpeg mpeg-dash

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

按批量文件名前缀的顺序读取目录中的文件?

我在一个目录中有许多SQL脚本,前缀是数字,例如

在此输入图像描述

目前,我可以使用此脚本循环遍历它们:

@ECHO OFF
FOR /r . %%F IN (*.sql) DO (
    ECHO File:"%%F"
)
Run Code Online (Sandbox Code Playgroud)

但是,由于Windows读取目录中文件的方式,在2之前读取10和11,等等:

在此输入图像描述

如何按照前缀的顺序遍历目录中的每个文件?

windows batch-file

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

Windows'dir'命令,按名称排序和<something>

我们可以在Windows资源管理器中看到按名称排序的目录文件.

如果我在Windows命令提示符下尝试相同的操作,则按名称命令不同 - 正确:

dir *.jpg /ON /B

cubierta.jpg
pag00.jpg
pag06.jpg
pag08.jpg
pag09.jpg
pag100.jpg
pag101.jpg
pag102.jpg
pag103.jpg
pag104.jpg
pag105.jpg
pag106.jpg
pag107.jpg
pag108.jpg
pag109.jpg
pag11.jpg, etc, etc, etc, ...
Run Code Online (Sandbox Code Playgroud)

有没有办法dir通过名字来订购它在哪里读取人类会做的数字?

windows directory cmd

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

使用Powershell对目录名称进行排序

我有目录列表。目录被命名为数字。如何通过电源外壳按数字顺序对目录名称进行排序。

Name
-----
1
12
2
Run Code Online (Sandbox Code Playgroud)

powershell

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

Powershell带数字的排序对象名称不正确

我试图在文件夹中查找.sql文件,并根据上次写入时间对其进行过滤。根据上次写入时间,我得到了4个文件作为输出。

TestScript10.sql TestScript5.sql TestScript6.sql TestScript7.sql

现在,当我的命令尝试执行排序对象时,我在顶部看到了Testscript10而不是TestScript5,如何解决此问题?

我的代码”

$File= Get-ChildItem $FileLocation -Filter *.sql | Where-Object {$_.LastWriteTime -gt $datetime} | Sort-Object Name
Run Code Online (Sandbox Code Playgroud)

$文件输出

[DBG]:PS SQLSERVER:>> $ File

Directory: C:\SQLScripts
Run Code Online (Sandbox Code Playgroud)

模式LastWriteTime长度名字
---- ------------- ------ ----
-a --- 2014年5月22日上午10:20 61 TestScript10.sql
- a --- 2014年5月22日10:16 AM TestScript5.sql
-a --- 2014年5月22日10:24 AM 66 TestScript6.sql
-a-2014年5月22日10:10 24 Testscript7.sql

.net powershell

4
推荐指数
3
解决办法
2701
查看次数

PowerShell Sort-Object by Name升序

PowerShell似乎不按名称升序对对象进行排序:

dir | Sort-Object Name
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

当然,我的目标是按以下顺序对元素进行排序:

1.sql
2.sql
3.sql
4.sql
5.sql
6.sql
...
...
...
Run Code Online (Sandbox Code Playgroud)

你觉得有什么出路吗?

sorting powershell

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

正确排序包含版本号的列表

所以,我有一个看起来像这样的版本列表:

v1.1.0
v1.2.0
v1.3.0
v1.4.0
v1.5.0
v1.7.0
v1.8.0
v1.9.0
v2.0.0
v2.1.0
v2.10.0
v2.11.0
v2.12.0
v2.2.0
v2.3.0
v2.4.0
v2.5.0
v2.6.0
v2.7.0
v2.8.0
v2.9.0
Run Code Online (Sandbox Code Playgroud)

问题是,它们的顺序不正确。我是 Powershell 的新手,所以我在尝试对它们进行排序时遇到了一些问题。我试图这样做:

$tags = git tag
$versions = $tags | %{ new-object System.Version ($_) } | sort
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

新对象:使用“1”个参数调用“.ctor”的异常:“版本字符串部分太短或太长。” 在行:1 字符:24 + $versions = $tags | %{ 新对象 System.Version ($_) } | sort + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvocationException +fullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand

任何人都可以帮忙吗?


更新

我使用了如下所示的解决方案之一:

$location = Get-Location
$path = $location.tostring() + "\CHANGELOG.md"
$tags …
Run Code Online (Sandbox Code Playgroud)

sorting powershell version-numbering

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

使用powershell查找文件名中编号最大的文件

对不起伙计们......我是PowerShell的新手.如果有人帮助处理以下情况会很棒:

我在文件夹c:\ test中有几个文件

sample.x.x.1
sample.x.x.2
sample.x.x.3
sample.x.x.4
sample.x.x.5
Run Code Online (Sandbox Code Playgroud)

我想找到给定文件夹中名称中编号最大的文件的名称.在上面的示例中,5是最高编号,脚本应将输出文件名作为sample.xx5返回

提前致谢!

powershell powershell-3.0

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