适用于 Windows 7、8.1、10 的第一种方法
首先关闭所有窗口。
打开您的默认 Web 浏览器并最大化浏览器窗口,然后关闭浏览器窗口。
按Win+ R,然后键入SnippingTool.exe
以运行截图工具。单击Mode
按钮(或按Alt+ M)并选择Full Screen
。按Ctrl+S显示Save As
对话框。我建议创建一个新文件夹(例如Scrn
),并将屏幕截图保存在新创建的文件夹中,例如Scrn\screenshot.png
. 这只是一个虚拟屏幕截图,您可以稍后将其删除。这样做可以将以下屏幕截图保存到这个新的同一文件夹中。关闭截图工具。
使用 EmEditor 打开带有 URL 列表的文本文件。请不要最大化 EmEditor 窗口。我建议先用几个 URL 进行测试。文本文件应如下所示:
https://www.emeditor.com/
https://stackoverflow.com/
https://www.google.com/
Finished saving screenshots
运行下面的宏(Screenshot1.jsee),在出现对话框之前请不要触摸键盘或鼠标。
Screenshot1.jsee
document.selection.StartOfDocument();
nLines = document.GetLines();
for( y = 1; y <= nLines; ++y ) {
str = document.GetLine( y ); // retrieve an URL at a line
if( str.length != 0 ) {
str = str.replace("http://", ""); // remove "http://" and "https://"
str = str.replace("https://", "");
if( str.charAt( str.length - 1 ) == '/' ) { // remove the last slash character
str = str.substr( 0, str.length - 1 );
}
str = str.replace("/", "-"); // replace invalid characters with "-"
str = str.replace("~", "-");
str += ".png"; // append ".png"
document.selection.OpenLink();
document.selection.LineDown(false,1);
Sleep( 5000 ); // wait for the browser to become active and show the webpage completely
WshShell = new ActiveXObject( "WScript.Shell" );
WshShell.Run( "SnippingTool.exe" );
Sleep( 2000 ); // wait for the Snipping Tools appears
shell.SendKeys( "%M" ); // Press Alt+M
Sleep( 100 );
shell.SendKeys( "s" ); // Press s
Sleep( 100 );
shell.SendKeys( "%n" ); // Press Alt+N
Sleep( 1000 );
shell.SendKeys( "~" ); // Press Enter
Sleep( 100 );
shell.SendKeys( "~" ); // Press Enter
Sleep( 1000 );
shell.SendKeys( "%{F4}" ); // Press Alt+F4 to close Snipping Tools
Sleep( 1000 );
shell.SendKeys( "y" ); // select YES
Sleep( 1000 );
shell.SendKeys( str + "~" ); // enter file name
Sleep( 1000 );
shell.SendKeys( "%{F4}" ); // Press Alt+F4 to close web browser
Sleep( 1000 );
}
}
alert( "Finished saving screenshots" );
要运行它,请将此代码另存为,例如,Screenshots.jsee
然后从宏菜单中的选择...中选择此文件。最后,在Macros菜单中选择Run Screenshots.jsee 。
注意:如果目标文件夹中存在相同的文件名,则在片段工具提示覆盖时宏将停止。请确保目标文件夹为空或目标文件夹中不存在相同的文件名。
如果出现问题,您可以在 EmEditor 获得键盘焦点时按Ctrl+ Break(或连续两次)取消宏。ESC
Windows 10 的第二种方法
这种方法应该比第一种方法更健壮和更快。
首先,按Win+PrintScrn并确保屏幕截图保存在您的个人Pictures/Screenshots
文件夹中。删除此文件,并确保文件夹为空。
关闭所有窗户。
打开您的默认 Web 浏览器并最大化浏览器窗口,然后关闭浏览器窗口。
使用 EmEditor 打开带有 URL 列表的文本文件。运行下面的宏。
Screenshot2.jsee
document.selection.StartOfDocument();
nLines = document.GetLines();
for( y = 1; y <= nLines; ++y ) {
str = document.GetLine( y ); // retrieve an URL at a line
if( str.length != 0 ) {
document.selection.OpenLink();
Sleep( 5000 ); // wait for the browser to become active and show the webpage completely
shell.SendKeys( "{LWIN DOWN}{PRTSC}{LWIN UP}" );
Sleep( 500 );
shell.SendKeys( "%{F4}" ); // Press Alt+F4 to close web browser
Sleep( 500 );
}
document.selection.LineDown(false,1);
}
alert( "Finished saving screenshots" );
您将看到保存在您的个人Pictures/Screenshots
文件夹中的屏幕截图。请注意此文件夹路径和第一个文件名(和索引号)。例如,如果文件名是Screenshot (13).png
,则索引号是13
。
将下面的宏复制到Screenshot3.jsee
,并更正文件夹名称 ( sFolder
) 和索引号 ( nIndex
)。如果您使用的是非英语 Windows 并且文件名不是Screenshot (...).png
,您可能还需要更正文件名 ( sFile1
)。打开带有 URL 的相同文本文件,然后运行此宏。
Screenshot3.jsee
sFolder = "C:\\Users\\...\\Pictures\\Screenshots\\"; // Screenshots folder where files are saved on [Win]+[PrintScrn]. Use double-backslashes "\\".
sFile1 = "Screenshot ("; // screenshot file name before index number
nIndex = 13; // index number of first screenshot, for example, 13 for Screenshot (13).png
sFile2 = ").png"; // screenshot file name after index number
fso = new ActiveXObject( "Scripting.FileSystemObject" );
document.selection.StartOfDocument();
nLines = document.GetLines();
for( y = 1; y <= nLines; ++y ) {
str = document.GetLine( y ); // retrieve an URL at a line
if( str.length != 0 ) {
str = str.replace("http://", ""); // remove "http://" and "https://"
str = str.replace("https://", "");
if( str.charAt( str.length - 1 ) == '/' ) { // remove the last slash character
str = str.substr( 0, str.length - 1 );
}
str = str.replace(/[/<>:\\|?*\"]/g, "-"); // replace invalid characters with "-"
str += ".png"; // append ".png"
sSrc = sFolder + sFile1 + nIndex + sFile2;
sDest = sFolder + str;
fso.MoveFile( sSrc, sDest );
}
document.selection.LineDown(false,1);
++nIndex;
}
alert( "Finished renaming screenshots" );