我开始使用PowerShell,并试图弄清楚如何将系统环境变量回显到控制台以读取它。

下面两个都不行。第一个只输出%PATH%,第二个什么也不输出。

echo %PATH%
echo $PATH

是的,我知道很多人都问过这个问题。 但是,这让我很困惑,因为谷歌上的搜索结果显示了不同的方法(如下所示)

$(document).ready(function() {
    if ($('#DivID').length){
        alert('Found with Length');
    }

    if ($('#DivID').length > 0 ) {
        alert('Found with Length bigger then Zero');
    }

    if ($('#DivID') != null ) {
        alert('Found with Not Null');
    }
});

这三个中哪一个是检查div是否存在的正确方法?

编辑: 遗憾的是,人们并不想从这三种不同的方法中学习哪种方法更好。这个问题实际上不是关于“如何检查一个div是否存在”,而是关于哪种方法更好,如果有人能解释一下,为什么它更好?

据我所知,PowerShell似乎没有用于所谓三元运算符的内置表达式。

例如,在支持三元操作符的C语言中,我可以这样写:

<condition> ? <condition-is-true> : <condition-is-false>;

如果PowerShell中没有这样的功能,那么要达到同样的效果(即易于阅读和维护),最好的方法是什么?

使用PowerShell,是否可以删除包含文件的目录而不提示确认操作?

我在Windows 10电脑上使用Visual Studio Code。我想把我的默认终端从Windows PowerShell更改为Ubuntu上的Bash(在Windows上)。

我该怎么做呢?

我发现了一些经典的“将是”解决方案“我如何插入一个新记录或更新一个如果它已经存在”,但我不能让他们中的任何一个在SQLite中工作。

我有一个定义如下的表:

CREATE TABLE Book 
ID     INTEGER PRIMARY KEY AUTOINCREMENT,
Name   VARCHAR(60) UNIQUE,
TypeID INTEGER,
Level  INTEGER,
Seen   INTEGER

我要做的是添加一个具有唯一名称的记录。如果Name已经存在,我想修改字段。

有人能告诉我怎么做吗?

是否可以在建立连接后检查MySQL数据库是否存在。

我知道如何检查一个表是否存在于一个DB,但我需要检查DB是否存在。如果不是,我必须调用另一段代码来创建它并填充它。

我知道这一切听起来有点不优雅-这是一个快速和肮脏的应用程序。

Out-File似乎在使用UTF-8时强制BOM:

$MyFile = Get-Content $MyPath
$MyFile | Out-File -Encoding "UTF8" $MyPath

我怎么能写一个文件在UTF-8没有BOM使用PowerShell?

更新2021

自从10年前我写这个问题以来,PowerShell已经发生了一些变化。检查下面的多个答案,它们有很多有用的信息!

如何在PowerShell中否定条件测试?

例如,如果我想检查目录C:\Code,我可以运行:

if (Test-Path C:\Code){
  write "it exists!"
}

是否有一种方法可以否定这种情况,例如(不工作):

if (Not (Test-Path C:\Code)){
  write "it doesn't exist!"
}

处理:

if (Test-Path C:\Code){
}
else {
  write "it doesn't exist"
}

这很好,但我更喜欢内联的东西。

使用PowerShell,我想用MyValue替换给定文件中所有精确出现的[MYID]。最简单的方法是什么?