首页 宽带

用好变量 命令行执行更灵活

(来源:网站编辑 2022-12-12 08:18)

文章正文

用好变量 命令行执行更灵活

系统应用

一 使用系统自带变量记录程序启动日志

Windows 10默认内置了很多变量。如果需要记录孩子每次启动游戏的时间,那么可以使用系统自带的时间变量参数来实现。假设需要记录的程序是“D:\game\game.exe”,启动记事本程序后输入下列的代码,然后保存为game.bat,放置在“D:\”中备用。

echo %date% %time%启动游戏程序 >> d:\1.txt

start /b D:\game\game.exe

代码解释:

第一行代码是显示启动游戏程序的时间,这里的“%date%”和“%time%”是系统内置的日期和时间变量,用来表示批处理运行时对应的时刻,比如在命令提示符窗口中输入“echo %date% %time%”并回车即可显示当前日期和时间(图1)。后面的“>>”代码则将显示的内容以追加的方式写入“D:\ 1.t xt ”中作为日志保存。

第二行代码表示使用内置的star t命令启动应用程序,但不创建新窗口。

接着返回桌面,将原来游戏程序的快捷方式删除。然后将“D:\game.bat”快捷方式发送到桌面,并使用“D:\game\game.exe”内置图标作为该快捷方式的图标,把它作为启动游戏的快捷方式。这样孩子每次双击该快捷方式时,随着命令提示符窗口一闪而过,指定的游戏程序就会自动启动(图2)。

当我们需要查看孩子启动该游戏的记录时,使用记事本程序打开“d:\1.txt”,每次游戏的启动时间都会自动被记录(图3)。

二 使用自定義变量查看程序运行时长

除了可以使用系统内置的变量外,在实际使用中还可以根据自己的需要设置自定义变量。比如为了查看孩子运行游戏的时长,可以设置一个查看游戏程序进程的自定义变量。

1.设置查看代码

同上假设需要查看的游戏为“ D:\game\game.exe”,以管理员身份启动Window sPowerShell ISE,接着在下面的代码框中依次输入图4显示的代码(图4)。

BUbg9xkdaFMppAlx5g7ixGSrKgXOJN3JxFRvgDiW/fc=

代码解释:

第一行代码“$cfan”就是自定义变量,变量值是通过“get-process”命令获取进程“game”的信息。

第五行代码则是显示变量内容,代码会将当前系统时间([DateTime]::Now)和变量获取的进程启动时刻(即游戏启动时间点)相减,并统计其总计的时长信息(totalminutes,总计分钟数)。

第六行代码是暂停屏幕,用来查看游戏运行时长信息。

2.运行代码查看游戏时长

在图4所示的界面中点击“文件/保存”,将上述代码保存为“D:\cfan.ps1”。然后将cfan.ps1的快捷方式发送到桌面,这样以后需要查看孩子运行游戏的时长时,只要右击桌面快捷方式并选择“使用PowerShell运行”,在打开的窗口中就可以统计截止到当前时刻“game”总计运行的时长了,按回车键后会自动退出(图5)。

这里我们使用了自定义变量“$cfan”,如果需要查询其他进程,那么只要将代码中的“game”改为其他进程,如“QQ”,再次运行上述代码后就可以统计用户使用QQ的时长信息了。

3.定时查看时长信息

为了方便随时查看这个信息,还可以使用任务计划定时运行上述脚本。启动任务计划程序组件后,新建一个任务计划,执行的操作是运行命令“C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe”,参数是“d:\cfan.ps1 >>“C:\Users\当前用户\OneDrive\game.txt”(图6)。任务的运行时间和间隔可以设置为每天9:00开始,每隔30分钟运行一次。

这样以后需要查看游戏运行时长信息时,只要打开“C:\Users\当前用户\OneDrive\game.txt”(也可以使用手机访问OneDrive网盘查看),在其中就可以看到记录的详细信息了。如果没有运行游戏,时长信息没有显示,通过查看最近的时间记录即可大概判断出孩子运行游戏的总时长信息了(图7)。




上一篇:借一双“眼”观察 监视并修复系统问题 下一篇:用PowerShell高效管理计划任务


首页
评论
分享
Top