Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 在CMD中与管道(|)一起使用时,破折号(“-”)是什么?_Powershell_Batch File_Cmd - Fatal编程技术网

Powershell 在CMD中与管道(|)一起使用时,破折号(“-”)是什么?

Powershell 在CMD中与管道(|)一起使用时,破折号(“-”)是什么?,powershell,batch-file,cmd,Powershell,Batch File,Cmd,我想创建一些可单击的PowerShell脚本,我发现我稍微修改了一下: ;@Findstr -bv ;@F %0 | powershell -noprofile -command - & goto:eof # PowerShell Code goes here. 我知道Findstr正在传递所有不以开头的行@F到管道的右侧,破折号指定输入的位置,但是破折号字符的名称是什么,它记录在哪里 我在微软的上找到了CMD的管道操作符的解释,但它没有提到任何关于破折号字符的内容。我想你是指-,它

我想创建一些可单击的PowerShell脚本,我发现我稍微修改了一下:

;@Findstr -bv ;@F %0 | powershell -noprofile -command - & goto:eof

# PowerShell Code goes here.
我知道Findstr正在传递所有不以开头的行@F到管道的右侧,破折号指定输入的位置,但是破折号字符的名称是什么,它记录在哪里

我在微软的上找到了CMD的管道操作符的解释,但它没有提到任何关于破折号字符的内容。

我想你是指-,它位于-。它与管道操作符无关,它是powershell的指令

下面是从powershell/访问的powershell帮助中摘录的-Command选项的说明

顺便说一句,直到我看到你的问题,我才意识到FINDSTR被接受为选项指标。我只见过并使用过/。很好的信息。

我想你指的是-,在-。它与管道操作符无关,它是powershell的指令

下面是从powershell/访问的powershell帮助中摘录的-Command选项的说明


顺便说一句,直到我看到你的问题,我才意识到FINDSTR被接受为选项指标。我只见过并使用过/。好消息。

对于Powershell来说,-表示接受来自stdin而非参数的命令。这不是cmd/batch和piping中的功能。它将与-is to Powershell一起工作,表示接受来自stdin而不是参数的命令。这不是cmd/batch和piping中的功能。它将与Powershell版本2配合使用,添加一个运行Powershell的右键单击上下文菜单项以运行脚本。您将发现一些增强的shell扩展,用于以提升的权限运行Powershell脚本。但是,如果您只想通过双击文件来运行Powershell脚本,我建议您只从批处理脚本调用Powershell脚本,而不是尝试在批处理脚本中嵌入Powershell代码。在批处理脚本中,使用以下命令:powershell.exe-文件%%dp0MyScript.ps1,其中%%dp0扩展到当前目录。这实际上为您的Powershell脚本创建了一个引导程序,您可以双击它来启动Powershell脚本

Powershell版本2使用Powershell右键单击上下文菜单项添加运行以运行脚本。您将发现一些增强的shell扩展,用于以提升的权限运行Powershell脚本。但是,如果您只想通过双击文件来运行Powershell脚本,我建议您只从批处理脚本调用Powershell脚本,而不是尝试在批处理脚本中嵌入Powershell代码。在批处理脚本中,使用以下命令:powershell.exe-文件%%dp0MyScript.ps1,其中%%dp0扩展到当前目录。这实际上为您的Powershell脚本创建了一个引导程序,您可以双击它来启动Powershell脚本

我已经阅读了powershell/的帮助?很多次,但这一点信息没有坚持。我想我知道我再也不用用它了。我已经阅读了powershell/的帮助?很多次,但这一点信息没有坚持。我想我知道我再也不用用它了。啊,我想我太习惯于在PowerShell中使用$了,认为cmd有类似的功能。啊,我想我太习惯于在PowerShell中使用$了,认为cmd有类似的功能。我知道我有运行脚本的选项,我有自己的理由想要一个文件,用户可以双击它来运行一些PowerShell代码。你的回答没有回答我的问题。@Rynant我很想听听你对这类事情有什么样的用例。我想我会试着解释你想要创建可点击脚本的意图。有时人们问问题是因为他们不知道其他的选择。我不知道你的用例是什么,也许你别无选择。我在质量保证部门工作,每个人都不熟悉PowerShell。将脚本放置在实验室计算机的桌面上非常方便,用户可以双击该桌面执行频繁的任务,打开并登录到应用程序,打开最新的日志文件等。每个脚本有一个文件可以更容易地管理。双击比右键单击并选择“使用PowerShell运行”要快,我不想更改.ps1文件关联,也不想在双击时运行每个.ps1文件。我知道运行脚本的选项,我有自己的理由想要一个文件,用户可以双击该文件来运行某些PowerShell代码。你的回答没有回答我的问题。@Rynant我很想听听你对这类事情有什么样的用例。我想我会试着解释你想要创建可点击脚本的意图。有时人们问问题是因为他们不知道其他的选择。我不知道你的用例是什么,也许你别无选择。我在质量保证部门工作,每个人都不熟悉PowerShell。去很方便
将脚本放在实验室计算机的桌面上,用户可以双击这些脚本执行频繁的任务打开并登录到应用程序,打开最新的日志文件等。每个脚本有一个文件可以更容易地管理。双击比右键单击并选择“使用PowerShell运行”更快,我不想更改.ps1文件关联,也不想在双击时运行每个.ps1文件。我注意到您可能为了简化而将%f0更改为仅%0,但这样做会丢失一些功能。首先,如果名称中有空格,则需要引号。其次,如果您曾经从命令行运行批处理文件,并且没有显式地使用名称键入.bat,则需要更详细的表达式%%f0。我注意到您可能为了简化而将%%f0更改为仅%0,但这样做会丢失一些功能。首先,如果名称中有空格,则需要引号。其次,如果您曾经从命令行运行批处理文件,并且没有显式地使用名称键入.bat,则需要更详细的表达式%%f0。
-Command
    Executes the specified commands (and any parameters) as though they were
    typed at the Windows PowerShell command prompt, and then exits, unless
    NoExit is specified. The value of Command can be "-", a string. or a
    script block.

    If the value of Command is "-", the command text is read from standard
    input.