我需要一种方法来比较多个字符串到一个测试字符串,并返回与它非常相似的字符串:

TEST STRING: THE BROWN FOX JUMPED OVER THE RED COW

CHOICE A   : THE RED COW JUMPED OVER THE GREEN CHICKEN
CHOICE B   : THE RED COW JUMPED OVER THE RED COW
CHOICE C   : THE RED FOX JUMPED OVER THE BROWN COW

(如果我做对了)最接近“TEST string”的字符串应该是“CHOICE C”。最简单的方法是什么?

我计划将其实现为多种语言,包括VB.net、Lua和JavaScript。此时,伪代码是可以接受的。如果你能提供一个特定语言的例子,这也是非常感谢的!

我必须查看一个大文件(典型大小为500MB-2GB)的最后几行。我正在寻找一个相当于Unix命令尾Windows Powershell。一些可供选择的方法是,

http://tailforwin32.sourceforge.net/

and

Get-Content [filename] | Select-Object -Last 10

对于我来说,第一种选择是不允许使用的,而第二种选择是很慢的。有人知道PowerShell的tail的有效实现吗?

如何在Windows PowerShell中获取当前用户名?

如何在PowerShell中运行以下命令?

C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe -verb:sync -source:dbfullsql="数据源=mysource;集成安全=false;用户ID=sa;Pwd=sapass!;数据库=mydb;"-dest:dbfullsql="Data Source=.\mydestsource;Integrated Security=false;User ID=sa;Pwd=sapass!;Database=mydb;",computername=10.10.10.10,username=administrator,password=adminpass"

我正在写一个PowerShell脚本来创建几个目录,如果它们不存在的话。

文件系统与此类似

D:\
D:\TopDirec\SubDirec\Project1\Revision1\Reports\
D:\TopDirec\SubDirec\Project2\Revision1\
D:\TopDirec\SubDirec\Project3\Revision1\

每个项目文件夹都有多个版本。 每个修订文件夹都需要一个Reports文件夹。 一些“修订”文件夹已经包含了一个报告文件夹;然而,大多数人并没有。

我需要编写一个脚本,每天运行为每个目录创建这些文件夹。

我能够编写脚本创建一个文件夹,但创建几个文件夹是有问题的。

SQL中的EXISTS子句和IN子句有什么区别?

什么时候应该使用EXISTS,什么时候应该使用IN?

我如何问PowerShell的东西在哪里?

例如,"which notepad",它根据当前路径返回notepad.exe运行的目录。

我一直在寻找一种方法,在函数中发生不可恢复的错误时终止PowerShell (PS1)脚本。例如:

function foo() {
    # Do stuff that causes an error
    $host.Exit()
}

当然,没有$host.Exit()这样的东西。有$host.SetShouldExit(),但这实际上关闭了控制台窗口,这不是我想要的。我需要的是一些相当于Python的sys.exit(),它将简单地停止当前脚本的执行,而不需要进一步的告别。

编辑:是的,只是退出。咄。

如果我有一个接受多个字符串参数的函数,第一个参数似乎获得分配给它的所有数据,其余参数作为空传入。

一个快速测试脚本:

Function Test([string]$arg1, [string]$arg2)
{
    Write-Host "`$arg1 value: $arg1"
    Write-Host "`$arg2 value: $arg2"
}

Test("ABC", "DEF")

生成的输出为

$arg1 value: ABC DEF
$arg2 value: 

正确的输出应该是:

$arg1 value: ABC
$arg2 value: DEF

这似乎在多台机器上v1和v2之间是一致的,所以很明显,我做错了什么。有人能指出具体是什么吗?

有一个名为itunesForward的PowerShell脚本。让iTunes快进30秒的ps1:

$iTunes = New-Object -ComObject iTunes.Application

if ($iTunes.playerstate -eq 1)
{
  $iTunes.PlayerPosition = $iTunes.PlayerPosition + 30
}

它由提示行命令执行:

powershell.exe itunesForward.ps1

是否有可能从命令行传递一个参数,并将其应用到脚本中,而不是硬编码的30秒值?