小编mkl*_*nt0的帖子

如何在双引号字符串中使用对象的属性?

我有以下代码:

$DatabaseSettings = @();
$NewDatabaseSetting = "" | select DatabaseName, DataFile, LogFile, LiveBackupPath;
$NewDatabaseSetting.DatabaseName = "LiveEmployees_PD";
$NewDatabaseSetting.DataFile = "LiveEmployees_PD_Data";
$NewDatabaseSetting.LogFile = "LiveEmployees_PD_Log";
$NewDatabaseSetting.LiveBackupPath = '\\LiveServer\LiveEmployeesBackups';
$DatabaseSettings += $NewDatabaseSetting;
Run Code Online (Sandbox Code Playgroud)

当我尝试使用字符串执行命令中的一个属性时:

& "$SQlBackupExePath\SQLBackupC.exe" -I $InstanceName -SQL `
  "RESTORE DATABASE $DatabaseSettings[0].DatabaseName FROM DISK = '$tempPath\$LatestFullBackupFile' WITH NORECOVERY, REPLACE, MOVE '$DataFileName' TO '$DataFilegroupFolder\$DataFileName.mdf', MOVE '$LogFileName' TO '$LogFilegroupFolder\$LogFileName.ldf'"
Run Code Online (Sandbox Code Playgroud)

它试图只使用值$DatabaseSettings而不是值$DatabaseSettings[0].DatabaseName,这是无效的.
我的解决方法是将其复制到一个新变量中.

如何直接在双引号字符串中访问对象的属性?

powershell string-interpolation

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

UTF-8可以编码多少个字符?

如果UTF-8是8位,这是否意味着最多只能有256个不同的字符?

前128个代码点与ASCII相同.但它说UTF-8可以支持多达百万个字符?

这是如何运作的?

ascii utf-8 character-encoding

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

将PowerShell的默认输出编码更改为UTF-8

默认情况下,当您将命令的输出重定向到文件或将其传递到PowerShell中的其他内容时,编码为UTF-16,这是无用的.我想把它改成UTF-8.

它可以通过替换>foo.txt语法来逐个进行,| out-file foo.txt -encoding utf8但是每次都必须重复这是很尴尬的.

在PowerShell中设置内容的持久方法是将它们放入\Users\me\Documents\WindowsPowerShell\profile.ps1; 我已经验证这个文件确实是在启动时执行的.

有人说输出编码可以设置,$PSDefaultParameterValues = @{'Out-File:Encoding' = 'utf8'}但我已经尝试过,它没有任何效果.

https://blogs.msdn.microsoft.com/powershell/2006/12/11/outputencoding-to-the-rescue/谈到$OutputEncoding乍一看似乎应该是相关的,但后来谈到输出被编码在ASCII中,这不是实际发生的事情.

如何设置PowerShell使用UTF-8?

powershell utf-8 character-encoding

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

从每个参数中删除尾部斜杠的最简单方法是什么?

从'$ @'数组中的每个参数中删除尾部斜杠的最简单方法是什么,以便rsync按名称复制目录?

rsync -a --exclude='*~' "$@" "$dir"
Run Code Online (Sandbox Code Playgroud)

标题已更改以澄清.要了解有关多个尾部斜杠的注释和答案,请参阅编辑历史记录.

bash shell rsync arguments stripslashes

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

在运行时获取node.js版本

我对旧版本的node.js存在一些兼容性问题.

有没有办法在运行时获取node.js版本?

javascript runtime node.js

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

将自定义元数据或配置添加到package.json,它有效吗?

我看过(不记得在哪里)一个package.json文件,其自定义键以下划线开头:

{
    "name": "application-name"
  , "version": "0.0.1"
  , "private": true
  , "dependencies": {
      "express": "2.4.7"
    , "jade": ">= 0.0.1"
  }
  , "_random": true
}
Run Code Online (Sandbox Code Playgroud)

你被允许这样做吗?它仍然有效吗?如果允许,是否有关于规则的文档?

谢谢!

node.js

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

如何在windows中为npm run-scripts设置shell

我在windows上运行npm并且想在运行脚本中使用&style并行操作但是在cmd中并行运行在我的package.json文件中有点乱 - 我想写 -

脚本:{"go":"cmd1&cmd2"}

但是npm执行cmd.exe下的脚本,该脚本不知道; 我可以将其更改为脚本:{"go":"bats/bat1.bat")其中bat1.bat是一个cmd bat文件,它使用windows样式调用或启动命令来并行运行命令.哪个有效,但给了我一个仅适用于Windows的脚本

如果我可以让npm在bash克隆或cygwin下运行脚本我会尝试配置:{"shell":"bash"}但是仍然运行cmd.exe会简单得多

有没有办法告诉npm使用特定的shell(而不是cmd.exe)运行脚本?

windows shell npm

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

env:bash\r \n:没有这样的文件或目录

我正在尝试从这里安装YouCompleteMe .

当我执行:

    ./install.sh --clang-completer
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

    env: bash\r: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我不知道环境变量有什么问题.这是我的bash路径:

which bash 
/bin/bash
Run Code Online (Sandbox Code Playgroud)

我需要将其更改为/ usr/bash吗?如果是,那我该怎么做?我尝试更改〜/ .bashrc文件,但它没有用.

windows git bash line-endings core.autocrlf

54
推荐指数
8
解决办法
4万
查看次数

确定用于映射网络驱动器的域和用户名

使用带有SP1的Windows 7企业版,但我希望得到一个适用于Windows XP/2003/2008/Vista/7的通用答案.

在命令提示符下,我执行一个net use命令将Z:驱动器映射到另一台计算机上的共享,但我不使用我当前的凭据,我指定了一个不同的域和用户来映射驱动器.

net use z: \\rd-pc2037\C_DRIVE password /user:rd-pc2037\Administrator

该命令成功完成.现在驱动器已映射,如何找到用于成功映射驱动器的域和用户名?我似乎无法用net use命令找到我想要的东西.

C:\Users\rdomarat>net use 
New connections will not be remembered.

Status       Local     Remote                    Network
---------------------------------------------------------------------------- 
OK           Z:        \\rd-pc2037\C_DRIVE       Microsoft Windows Network 
The command completed successfully.

C:\Users\rdomarat>net use Z: 
Local name        Z: 
Remote name       \\rd-pc2037\C_DRIVE 
Resource type     Disk 
Status            OK
# Opens           0
# Connections     1 
The command completed successfully.

在Windows资源管理器中检查共享的属性并查看安全选项卡,向我显示了不同的人将拥有的权限,但我没有看到DOMAIN\User我使用了什么.我在注册表中搜索也取得了有限的成功.

任何想法?

mapped-drive username

53
推荐指数
3
解决办法
8万
查看次数

通过bash脚本更改json文件

我需要你的帮助来解决以下问题:我有一个看起来像这样的JSON文件:

{
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}
Run Code Online (Sandbox Code Playgroud)

如何"key4": "value4"通过bash脚本添加和删​​除新密钥(即)?我还看到在添加或删除新文件之前添加或删除文件中最后一个键末尾的逗号的问题.

谢谢

bash json

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