“cscript //NoLogo”代表什么?

Sar*_*r.A 3 java notepad file jtextfield filewriter

这是一个java程序代码,运行记事本程序并粘贴存储在该程序本身中的特定文本......

我想知道您是否可以向我解释一下 的String vbs值,以及中的File file和。如果您这么慷慨,请向我解释整个代码。("cscript //NoLogo " + file.getPath())Process p

我是 Java 初学者,不完全是,但如果你想从 0 到 10 进行判断,我会是 1.5/10

import java.io.File;
import java.io.FileWriter;
import javax.swing.JTextField;

 public class PasteToNotepad {

   public static void main(String[] args) throws Exception {
     String text = "Some text for testing.";
     JTextField textField = new JTextField(text);
     textField.setSelectionStart(0);
     textField.setSelectionEnd(text.length() - 1);
     textField.copy();

     String vbs = ""
             + "Set WshShell = WScript.CreateObject(\"WScript.Shell\")\n"
             + "WshShell.Run \"notepad\", 9\n"
             + "WScript.Sleep 500\n"
             + "WshShell.SendKeys \"^V\"";

     File file = File.createTempFile("PrintDialog", ".vbs");
     file.deleteOnExit();
     FileWriter fw = new java.io.FileWriter(file);
     fw.write(vbs);
     fw.close();
     Process p = Runtime.getRuntime().exec("cscript //NoLogo " + file.getPath());
     p.waitFor();
   }
 }
Run Code Online (Sandbox Code Playgroud)

ruf*_*fin 5

尽管这个问题主要不是关于cscript //NoLogo,无论它的标题是什么,它仍然可以很好地搜索到该短语,所以让我们也详细地回答这个问题。

我不确定他们为什么称其为“徽标”,但这正是您从显示的内置帮助 @MByD 中想到的。但为了过度完整性......

C:\prompt>cscript spam.js
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

C:\prompt>cscript //NoLogo spam.js

C:\prompt>
Run Code Online (Sandbox Code Playgroud)

因此,如果您正在管道输出并且不想要所有 Microsoft 样板文件,//Nologo请对其进行 -ify。

C:\prompt>cscript spam.js > out.txt

C:\prompt>more out.txt
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.


C:\prompt>cscript spam.js //NoLogo > out.txt

C:\prompt>more out.txt

C:\prompt>
Run Code Online (Sandbox Code Playgroud)

(里面有。spam.jsvar spam = "spam";

而且,哇,这是一种将文本输入记事本的极其复杂的方法。我猜它更多的是教授如何exec从 Java 写入文件和命令,也许?