【发布时间】:2020-07-27 21:27:59
【问题描述】:
我试图从 CMD(控制面板的时间和日期)启动一个快捷方式,但它不起作用,所以我尝试在 Powershell 中做同样的事情。
我在 Powershell 中编写了这个命令,第一次尝试它就起作用了。
cd 'C:\Users\JakubLL\Desktop\Zástupci!' ; start '.\Datum a čas – zástupce.lnk'
但由于某种原因,如果我尝试在 CMD 中运行完全相同的命令,情况并非如此。
当我尝试这个命令时:
powershell -command "& {cd 'C:\Users\JakubLL\Desktop\Zástupci!' ; start '.\Datum a čas - zástupce.lnk'}"
括号中的命令是从 Powershell 复制过来的
返回是这样的:
start : This command cannot be run due to the error: Systém nemůže nalézt uvedený soubor.
At line:1 char:46
+ ... rs\JakubLL\Desktop\Zástupci!' ; start '.\Datum a čas - zástupce.lnk'}
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
Systém nemůže nalézt uvedený soubor. 翻译为:系统找不到指定的文件。
出于某种原因,CMD 会将单词 čas 和 zástupce 之间的空格更改为不同的空格。
确切地说是这些空格
čas – zástupce
Powershell 的空格在二进制中看起来像这样(包括破折号)00100000 11100010 10000000 10010011 00100000
当我复制粘贴在 CMD 中的命令时,它看起来像这样(包括破折号)00100000 00101101 00100000
请有人帮我解决这个问题。如果我的英语不是最好的,也很抱歉。
编辑:不是空格而是破折号本身!
【问题讨论】:
标签: powershell batch-file cmd command-line