小编mkl*_*nt0的帖子

用于解析联结目标路径的powershell

在PowerShell中,我需要解析联结的目标路径(符号链接).

例如,假设我有一个c:\someJunction目标是的交叉点c:\temp\target

我试过各种变化$junc = Get-Item c:\someJunction,但只能得到c:\someJunction

在本例中c:\temp\target,如何找到给定连接点的目标路径?

powershell symlink junction

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

Go中的常量结构

为什么我不能创建常量结构?

const FEED_TO_INSERT = quzx.RssFeed{ 0,
                    "",
                    "desc",
                    "www.some-site.com",
                    "upd_url",
                    "img_title",
                    "img_url",
                    0,
                    0,
                    0,
                    0,
                    0,
                    100,
                    "alt_name",
                    1,
                    1,
                    1,
                    "test",
                    100,
                    100,
                    0 }
Run Code Online (Sandbox Code Playgroud)

.\ rss_test.go:32:const初始化器quzx.RssFeed文字不是常量

go

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

使用文件中包含的标头使用cmd line curl POST二进制文件

我正在尝试通过HTTP将二进制文件发送到服务器.文件的开头已包含标题

我正在尝试使用curl的命令行版本发送文件,如下所示:

C:>curl  -H "Content-Type:application/octet-stream" --data-binary @asdf.file http://server:1234/url
Run Code Online (Sandbox Code Playgroud)

Curl正在添加导致400 Bad Request的标头.

当我使用linux版本的curl运行完全相同的命令时,帖子完成了吗?

curl http

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

检查Shell脚本$ 1是绝对路径还是相对路径

正如标题所说,我正在尝试确定我的bash脚本是否将完整路径或相关文件作为参数接收到目录.

由于某些原因,以下似乎对我不起作用:

#!/bin/bash

DIR=$1

if [ "$DIR" = /* ]
then
    echo "absolute"
else
    echo "relative"
fi
Run Code Online (Sandbox Code Playgroud)

当我用完整路径或绝对路径运行我的脚本时,它说:

./script.sh: line 5: [: too many arguments
relative
Run Code Online (Sandbox Code Playgroud)

由于某些原因,我似乎无法弄清楚这个错误.有任何想法吗?

bash shell

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

检查命令是否已成功运行

我已经尝试将以下内容包含在if语句中,这样如果成功,我可以执行另一个命令:

Get-WmiObject -Class Win32_Share -ComputerName $Server.name -Credential $credentials -Filter "Description='Default share'" | Foreach-Object {
        $Localdrives += $_.Path
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚该怎么做.我甚至尝试创建一个函数,但我无法弄清楚如何检查函数是否已成功完成.

powershell if-statement

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

在参数模式中涉及变量引用和子表达式的不带引号的标记:为什么它们有时会被分成多个参数?

注意:此问题的摘要已在PowerShell GitHub存储库中发布,因为已被此更全面的问题所取代.

传递给PowerShell中的命令的参数参数模式下进行解析(与表达式模式相反- 请参阅参考资料Get-Help about_Parsing).

方便地,(双)引用不包含空格或元字符的参数通常是可选的,即使这些参数涉及变量引用(例如$HOME\sub)或子表达式(例如,version=$($PsVersionTable.PsVersion).

在大多数情况下,这些不带引号的参数被视为双引号字符串,并且通常的字符串插值规则适用(除了元字符,例如,需要转义).

我试图在这个答案中总结参数模式中未加引号的标记的解析规则,但是有一些奇怪的边缘情况:

具体来说(从Windows PowerShell v5.1开始),为什么以下每个命令中的未加引号的参数标记不被识别为单个可扩展字符串,并导致传递2个参数(变量reference/subexpression保留其类型) ?

  • $(...)在令牌的开头:

    Write-Output $(Get-Date)/today # -> 2 arguments: [datetime] obj. and string '/today'
    
    Run Code Online (Sandbox Code Playgroud)
    • 请注意,以下工作符合预期:

      • Write-Output $HOME/sub - 简单的var.一开始就参考
      • Write-Output today/$(Get-Date) - 子表达式不是一开始

syntax powershell parameter-passing command-line-parsing

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

标记“&&”在此版本中不是有效的语句分隔符

在我的 React 项目上安装Webpack的过程中,遇到以下问题阻碍了我的进度:

配置 Webpack 的最后一步

npm run build && node ./dist/main.js
Run Code Online (Sandbox Code Playgroud)

Windows Power Shell / Visual Studio Code 上的错误

PS C:\Users\pythonbuddha\Desktop\to_experiment\to-do-list> npm run build && node ./dist/main.js
At line:1 char:15
+ npm run build && node ./dist/main.js
+               ~~
The token '&&' is not a valid statement separator in this version.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : InvalidEndOfLine

Run Code Online (Sandbox Code Playgroud)

承诺配置 webpack 的教程

https://developerhandbook.com/webpack/webpack-4-from-absolute-scratch/

https://developerhandbook.com/webpack/how-to-configure-scss-modules-for-webpack/
Run Code Online (Sandbox Code Playgroud)

javascript powershell reactjs webpack

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

:: a - >(a - > b) - > b运算符(Haskell)

编写Haskell程序我发现自己需要这样的运算符.

(|>) :: a -> (a -> b) -> b
(|>) = flip ($)
infixl 0 |>
Run Code Online (Sandbox Code Playgroud)

我认为将多个功能粘合在一起很有用.

tText cs = someFun cs   |>
           lines        |>
           map (drop 4) |>
           reverse
Run Code Online (Sandbox Code Playgroud)

我更喜欢它,.因为|>应用函数的顺序与函数的编写顺序相同.

tText' cs = reverse      . 
            map (drop 4) . 
            lines        . 
            someFun $ cs
Run Code Online (Sandbox Code Playgroud)

问题是:这是(|>)Prelude某些其他基本库中已存在的东西吗?重新实现简单的东西是愚蠢的,我想避免.

Hoogle搜索没有帮助.我发现的最近的东西是>>>(箭头),但它似乎有点矫枉过正.

haskell

17
推荐指数
3
解决办法
1272
查看次数

Set-Content在我的文件末尾添加换行符(换行符,CRLF)

我的原始配置文件(web1.config)没有额外的行,当在记事本中查看时(显示所有字符)看起来像:

在此输入图像描述

 <?xml version="1.0"?>
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.6" />
    <httpRuntime targetFramework="4.6" />
  </system.web>
  <appSettings>
    <add key="myConnectionString" value="server=localhost;database=myDb;uid=myUser;password=myPass;" />
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

现在,我需要应用脚本将我的数据库名称更改为其他类似的内容:

 Move-Item "web1.config" "webtemp.config"
Get-Content "webtemp.config" | ForEach-Object {$_ -replace "database=myDb;", "database=newDb;"} |Set-Content "web1.config" -Force
Remove-Item "webtemp.config"
Write-Output('Settings Changed')
Run Code Online (Sandbox Code Playgroud)

因此,生成的新文件(web1.config)看起来像:

在此输入图像描述

注意文件末尾添加的额外行(完全不需要)我尝试了所有其他选项,例如: - 使用out-file api - 使用.net IO方法System.IO.StreamWriter - 使用-nonewline标志(它将所有10行转换为单行) - 使用不同的编码选项 - 尝试将\ r \n替换为\ r \n(不再用作set-content会始终生成crlf)

我正在使用PowerShell v5.1.

powershell newline powershell-5.0

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

Get-Aduser -Filter不接受变量

我想检查系统中是否已存在用户帐户.

$SamAc = Read-Host 'What is your username?'
$User = Get-ADUser -Filter {sAMAccountName -eq "$SamAc"}
Run Code Online (Sandbox Code Playgroud)

我不确定为什么,但$User即使{sAMAccountName -eq "$SamAc"}应该是真的,也总会返回null .

我在这里错过了什么?

编辑:

这是缺少的:

$User = Get-ADUser -Filter "sAMAccountName -eq '$SamAc'"
Run Code Online (Sandbox Code Playgroud)

编者按:脚本块({ ... })用替换字符串.

powershell filtering active-directory powershell-3.0

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