如何将多行命令行命令复制/粘贴到命令提示符中?

问题描述 投票:0回答:2

我正在尝试将一些长的多行命令行命令复制/粘贴到 Windows 10 命令提示符中。

Linux 为此使用“\”字符,因此例如在 Linux 中,您可以将以下内容从网站或文本文件复制/粘贴到终端窗口中(我假设此处使用图形桌面环境):

python retrain.py \
    --bottleneck_dir="/tf_files" \
    --how_many_training_steps=500 \
    --model_dir="/tf_files" \
    --output_graph="/tf_files/retrained_graph.pb" \
    --output_labels="/tf_files/retrained_labels.txt" \
    --image_dir="/tf_files/flower_photos"

然后按 Enter 键,命令将运行。这在网站或您保存的文本文件中看起来更加清晰。

问题是,我似乎无法为此找到一个 Windows 等效项。我意识到 ^ 字符在这种情况下相当于 Linux \ 字符,但它似乎不适用于复制/粘贴。例如,如果创建一个文本文件“dummy1.txt”,则复制/粘贴以下内容:

copy dummy1.txt ^ 
    dummy2.txt

(注意第一行^字符两边有一个空格)

我明白了:

对于这两行示例来说,这并不重要,但对于更复杂的命令(例如上面的 python 脚本),将所有需要复制/粘贴的文档中的所有内容放在一行上,从而严重牺牲可读性。有没有办法让它在 Windows 上工作?如果这很重要的话,我目前正在使用 Windows 10。

windows windows-10 command-line-interface
2个回答
1
投票

我认为你需要像这样对它进行powershellafy:

$retrain =  @{
    bottleneck_dir = “/tf_files”
    how_many_training_steps = “500"
    model_dir= "/tf_files"
    output_graph = "/tf_files/retrained_graph.pb"
    output_labels = "/tf_files/retrained_labels.txt"
    image_dir = "/tf_files/flower_photos"
}
#imaginary equivalent script  
retrain.ps1 $retrain

如果您只是想将行分成多行,则转义字符是反勾号`

get-longcommand -name "long command" `
-date "today" `
-other-info "other stuff"

最后,请了解“Foreach”循环。有很多种,这里是简单的一种

$copy_list = @(get-childitem "C:\Path\to\files")
$new_dest = "C:\New\File\Destination"

foreach ($file in $copy_list) { 

#This is for troubleshooting, outputs which file it is running
  $file
  copy-item -Path $file -Destination $new_dest
  }

可能有类似$file.fullname之类的东西来传输路径。如果您使用 Powershell ISE,并使用调试例程,请在循环中的“$file”之后立即暂停,您可以看到详细信息。

享受吧!


0
投票

为什么要尝试在插入符号后粘贴带有空格的命令? OP 给出的示例 Linux 代码在换行符“\”反斜杠之后不包含空格。 @Eryk 的评论解释说插入符号需要转义换行符。

这里准备粘贴win 10命令提示符的片段;第一个在插入符号之后没有尾随空格,第二个在第一个插入符号之后有一个空格。

dir C:\Windows ^
    /A-D ^
    /OS

dir C:\Windows ^ 
    /A-D ^
    /OS

预计第一个代码片段(分为三行)将作为单个命令执行,而第二个代码片段及其尾随空格将作为两个命令执行失败。

© www.soinside.com 2019 - 2024. All rights reserved.