将bat代码移植到powershell
将我的bat脚本移植到PowerShell。两个问题:将bat代码移植到powershell,shell,powershell,mercurial,batch-file,Shell,Powershell,Mercurial,Batch File,将我的bat脚本移植到PowerShell。两个问题:$info在字符串中展开,如“$info”;当从某个文件运行命令时,会破坏参数(在交互模式下,仅出现第一个问题。控制台输出“hg提示:无效参数”) 命令: hg tip --template "<?php\r\n// ќв® ўв®¬ вЁзҐбЄЁ бЈҐҐаЁа®ў л© д ©« б Ёд®а¬ жЁҐ© ® ⥪г饬 ЎЁ«¤Ґ ¬®¤г«п\r\n$info = array(\r\n'rev' => '{
$info
在字符串中展开,如“$info”
;当从某个文件运行命令时,会破坏参数(在交互模式下,仅出现第一个问题。控制台输出“hg提示:无效参数”)
命令:
hg tip --template "<?php\r\n// ќв® ўв®¬ вЁзҐбЄЁ бЈҐҐаЁа®ў л© д ©« б Ёд®а¬ жЁҐ© ® ⥪г饬 ЎЁ«¤Ґ ¬®¤г«п\r\n$info = array(\r\n'rev' => '{rev}',\r\n'date' => '{date|isodate}',\r\n'changeset' => '{node}',\r\n);" > modules/video/version.php
hg-tip--template“若要不将$info
作为变量进行计算,必须将其作为`$info
编写。例如:
hg tip --template "<?php\r\n// ќв® ўв®¬ вЁзҐбЄЁ бЈҐ®ў © д ©« б Ё®а¬ жЁҐ© ® ⥪г饬 ЎЁ«¤Ґ ¬®¤г«п\r\n`$info = array(\r\n'rev' => '{rev}',\r\n'date' => '{date|isodate}',\r\n'changeset' => '{node}',\r\n);" > modules/video/version.php
hg-tip--template“若要不将$info
作为变量计算,必须将其作为`$info
编写。比如:
hg tip --template "<?php\r\n// ќв® ўв®¬ вЁзҐбЄЁ бЈҐ®ў © д ©« б Ё®а¬ жЁҐ© ® ⥪г饬 ЎЁ«¤Ґ ¬®¤г«п\r\n`$info = array(\r\n'rev' => '{rev}',\r\n'date' => '{date|isodate}',\r\n'changeset' => '{node}',\r\n);" > modules/video/version.php
hg-tip--template”另外,另一种方法是使用单引号,而不是现在使用的双引号
更新:
基本上你有三种方法
- 单引号-不计算表达式。但需要转义单引号符号
- 双引号-表达式是经过计算的。所以,如果你想使用$sign,你需要转义它
- 这里是字符串-单引号或双引号(已计算/未计算)。字符串可以跨多行。如果使用单引号方法,则无需转义任何内容
第三种方法的例子:
[12:06:58 PM] ~> $str = @'
'$'`#'"<>\/@
'@
_______________________________________________________________________________________________________________________________________________________________________________________________
[12:07:15 PM] ~> $str
'$'`#'"<>\/@
[12:06:58 PM]~>$str=@'
'$'`#'"\/@
'@
_______________________________________________________________________________________________________________________________________________________________________________________________
[12:07:15 PM]~>$str
'$'`#'"\/@
另外,另一种方法是使用单引号,而不是现在使用的双引号
更新:
基本上你有三种方法
- 单引号-不计算表达式。但需要转义单引号符号
- 双引号-表达式是经过计算的。所以,如果你想使用$sign,你需要转义它
- 这里是字符串-单引号或双引号(已计算/未计算)。字符串可以跨多行。如果使用单引号方法,则无需转义任何内容
第三种方法的例子:
[12:06:58 PM] ~> $str = @'
'$'`#'"<>\/@
'@
_______________________________________________________________________________________________________________________________________________________________________________________________
[12:07:15 PM] ~> $str
'$'`#'"<>\/@
[12:06:58 PM]~>$str=@'
'$'`#'"\/@
'@
_______________________________________________________________________________________________________________________________________________________________________________________________
[12:07:15 PM]~>$str
'$'`#'"\/@
你能修好我的代码吗?我已经试了很多次了,最后终于成功了这是bat文件中的另一行。你能修改我的代码吗?我已经试了很多次了,最终还是成功了这是bat文件中的一行。最后,一切都决定了:1)答案:2)问题是由于特定的文本编码(DOS编码中的西里尔字母)这里是:ќўжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж1078.这里是:。