Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
Batch file 批处理的exe选项是什么?_Batch File_Powershell_Exe - Fatal编程技术网

Batch file 批处理的exe选项是什么?

Batch file 批处理的exe选项是什么?,batch-file,powershell,exe,Batch File,Powershell,Exe,我需要将旧的批处理文件翻译或重写到powershell中 命令是一个exe文件。它大致上看起来像: dir1\dir2\XsltTransform.exe-i dir_1\dir_2\blah.xml-x dir\u x\dir\u y\something.xslt-o path1\path2\result.html 我对-I、-x和-o位有点困惑 还有一些命令甚至还有-r,-p,-a,-b,-l 我知道他们可能是指某种选择 但我似乎在Google或StackOverflow上找不到。您的示例代

我需要将旧的批处理文件翻译或重写到powershell中

命令是一个exe文件。它大致上看起来像:

dir1\dir2\XsltTransform.exe-i dir_1\dir_2\blah.xml-x dir\u x\dir\u y\something.xslt-o path1\path2\result.html

我对-I、-x和-o位有点困惑

还有一些命令甚至还有-r,-p,-a,-b,-l

我知道他们可能是指某种选择


但我似乎在Google或StackOverflow上找不到。您的示例代码有一个EXE文件。我假设您可以访问生成EXE的源代码

-i-x-o都是输入参数。在EXE中的某个地方,有一些代码处理这些参数并将它们存储到变量中

-i dir_1\dir_2\blah.xml -x dir_x\dir_y\something.xslt -o path1\path2\result.html
因此,dir_1\dir_2\blah.xml可能会存储到某个变量中以供进一步处理,依此类推

在阅读这个答案的同时,也要阅读。将Microsoft TechNet和MSDN网站放在手边-它有助于:

为了能够使用-x-y参数启动Powershell脚本,您需要在脚本顶部定义以下内容

基本用法

在这里,您可以将脚本称为script-x-y

这将接受两个参数-x和-y。在本例中,您输入的任何内容都作为字符串存储在变量$x$y中

如果需要任何其他数据类型,只需更改[string]值即可

高级用法

还可以使用[aliasmyalias]构造使参数具有别名。如果您的变量名很长,但命令行使用时需要较短的别名,这将有所帮助。 可以使用[parameterMandatory=$false]构造使参数成为可选参数。 e、 g


在上面的示例中,您可以将该脚本称为script-myalias1-myalias2,当然,myalias2是一个可选参数。

我想我刚才是通过翻找找到答案的

首先,您可以使用

帮助[任何命令] 它会给你所有的选择

或者有时候你必须在我的情况下使用exe文件

XsltTransform/


嗨,谢谢你的帮助,-i,-x和-o是什么意思?谢谢,我编辑了这个答案。请再读一遍答案。如果答案有帮助,请将其标记为答案,或向上投票。您好,我只是通过四处摸索找到了答案,但您的答案将帮助我稍后编写powershell脚本!!!所以非常感谢!!!
Param(
  [string]$x,
  [string]$y
)
Param(
[parameter(Mandatory = $true)]
[alias("myalias1")]
[string]$mylongvariablename1,

[parameter(Mandatory = $false)]
[alias("myalias2")]
[string]$mylongvariablename2,
....