将 emeditor 宏输出的搜索结果复制到剪贴板并发送到 potplayer

copy search results of emeditor macro output to clipboard and send it to potplayer

我正在使用 emeditor 宏代码 ExtractLinesContain.jsee(从 emeditor 宏库下载)在文本文件中搜索特定文本。这段代码工作正常。它将结果粘贴到新文件中。但我希望将结果复制到剪贴板并且还应该发送到 potplayer。 上述代码需要修改三处。

  1. 使用分隔符“|”输入了多个文本。我想用“,”代替“|”。
  2. 搜索结果自动复制到搜索结果中。
  3. 将以下代码附加到上述宏代码中。 editor.ExecuteCommandByID(4445); WshShell = new ActiveXObject( "WScript.Shell" );

WshShell.Run ( "PotPlayerMini64.exe /剪贴板" );

请帮助我。

ExtractLinesMulti.jsee宏很旧,我使用批处理Find/Extract功能重写了宏而不是 EmEditor。这是提取包含由 |:

分隔的任何指定多个字符串的行的宏
if( !editor.EnableTab ){ 
   editor.EnableTab = true; 
   alert( "Please run this macro again." ); 
   Quit(); 
}

sFind = prompt( "This macro extracts lines that do contain any of the specified multiple strings separated by |:", "" );
if( sFind == "" ){
    Quit();
}

var sArr = sFind.split("|");
batch_list = editor.filters;
for( i = 0; i < sArr.length; ++i ) {
    batch_list.AddFind(sArr[i],eeFindReplaceCase,0);
}
document.selection.BatchFind(batch_list, eeFindExtract | eeFindLineOnly,0);

document.selection.SelectAll();  // select all text
document.selection.Copy(eeCopyUnicode);  // copy the seleciton to the Clipboard

您可以在此宏的末尾添加您想要的任何代码。

参考文献:http://www.emeditor.org/en/macro_selection_batch_find.html