【问题标题】:How do get my script file to console via Notepad++ external command?如何通过 Notepad++ 外部命令将我的脚本文件发送到控制台?
【发布时间】:2014-04-06 03:25:51
【问题描述】:

我正在使用 Notepad++ 创建脚本并从菜单“运行”->“打开当前目录 cmd”打开我的活动文件。这工作正常,结果是:

c:\scripts>

我想要的是我目前正在处理的文件名,以便我可以立即尝试对其进行测试。在我的脚本中,我使用参数来定义输入和输出文件。因此,脚本不应在打开时运行,而应将脚本输入控制台:

c:\scripts>edit_text.pl

然后我会手动添加所需的输入和输出文件

c:\scripts>edit_text.pl input.txt output.txt

如何在 Notepad++“运行”功能中实现这一点?

目前在shortcuts.xml中定义为

cmd /K cd $(CURRENT_DIRECTORY)

我怀疑它会是这样的:

cmd /K cd $(CURRENT_DIRECTORY) $(FILE_NAME)

问题是这也会“执行”文件名。我想让它在控制台上等待我的操作。

提前致谢!

【问题讨论】:

    标签: console cmd notepad++


    【解决方案1】:

    最后的代码行意味着 CD 和脚本调用被视为一个命令。然后与&& 分开应该会有所帮助。

    cmd /K cd $(CURRENT_DIRECTORY) && $(FILE_NAME)
    

    但是,那会做 CD 然后执行命令。我不知道有什么方法可以输入命令但不执行它。

    一个糟糕的解决方案是使用下面的命令。您可以复制并粘贴回显的命令,然后添加所需的任何参数。在窗口中设置“快速编辑”模式可以使复制和粘贴更快。

    cmd /K cd $(CURRENT_DIRECTORY) && ECHO $(FILE_NAME)
    

    我对自己的脚本采用了不同的方法,尽管它们没有我需要输入的参数。编辑文件(但不要使用 Notepad++,因为它会在文件退出之前覆盖文件):

    C:\Users\AdrianHHH\AppData\Roaming\Notepad++\shortcuts.xml
    

    我在<UserDefinedCommands> 部分添加了一些行:

    <NotepadPlus>
        ... unchanged
        <UserDefinedCommands>
            ... unchanged
            <Command name="Open containing folder" Ctrl="no" Alt="no" Shift="no" Key="0">explorer $(CURRENT_DIRECTORY)</Command>
            <Command name="Open current dir cmd" Ctrl="no" Alt="no" Shift="no" Key="0">cmd /K cd /d $(CURRENT_DIRECTORY)</Command>
            <Command name="Run as command" Ctrl="no" Alt="no" Shift="no" Key="0">cmd /C &quot;cd /d $(CURRENT_DIRECTORY) &amp;&amp; $(FULL_CURRENT_PATH)&quot;</Command>
            <Command name="Explorer with selection" Ctrl="no" Alt="no" Shift="no" Key="0">explorer $(CURRENT_WORD)</Command>
        </UserDefinedCommands>
        ... unchanged
    </NotepadPlus>
    

    【讨论】:

    • 感谢您的回答! ECHO 是我尝试过的一件事,但正如你所说,它很差。我会看看我是否可以在同一个函数中以某种方式将文件名推送到剪贴板。
    • 发送文本到剪贴板你可以使用echo something |clip
    猜你喜欢
    • 2018-07-01
    • 2014-01-30
    • 2014-11-02
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    相关资源
    最近更新 更多