我想创建一个批处理文件,在运行时显示它在窗口标题中使用的内存(RAM)。我使用wmic命令尝试了以下代码,但它无法正常工作
void Mesh::Move(Move_Directions direction, GLfloat deltaTime) {
GLfloat velocity = 50 * this->movementSpeed * deltaTime;
if (direction == FORWARD) {
glm::vec3 t = glm::vec3(sin(glm::radians(yaw)), 0.0, cos(glm::radians(yaw))) * velocity;
matrix = glm::translate(matrix, t);
for (GLuint i = 0; i < this->m_Entries.size(); i++) {
this->m_Entries[i].setModelMatrix(matrix);
}
//scene->getDefCamera()->Translate(t);
}
if (direction == BACKWARD) {
glm::vec3 t = glm::vec3(sin(glm::radians(yaw)), 0.0, cos(glm::radians(yaw))) * velocity;
matrix = glm::translate(matrix, -t);
for (GLuint i = 0; i < this->m_Entries.size(); i++) {
this->m_Entries[i].setModelMatrix(matrix);
}
//scene->getDefCamera()->Translate(t);
}
if (direction == RIGHT) {
matrix = glm::rotate(matrix, (GLfloat) -M_PI*deltaTime, glm::vec3(0.0, 1.0, 0.0));
for (GLuint i = 0; i < this->m_Entries.size(); i++) {
this->m_Entries[i].setModelMatrix(matrix);
}
}
if (direction == LEFT) {
matrix = glm::rotate(matrix, (GLfloat) M_PI*deltaTime, glm::vec3(0.0, 1.0, 0.0));
for (GLuint i = 0; i < this->m_Entries.size(); i++) {
this->m_Entries[i].setModelMatrix(matrix);
}
}
}
执行wmic命令时,会显示错误消息:
缺少运营商
窗口的标题是
任务终止 - 执行次数:1,mem:0
如果我在批处理文件开始运行后在新的命令提示符窗口中单独运行wmic命令,则会显示错误:
没有可用的实例。
答案 0 :(得分:0)
作为WMIC如何不为您提供准确的数字或可能信任的示例,请查看以下示例脚本:
<?= $form->field($model, 'sex')->dropDownList(
['0' => 'Male',
'1' => 'Female']
) ?>
您会注意到有两个输出,一个来自脚本的初始调用,另一个来自WMIC命令部分。我最初的想法是,第一个数字将是两个中较小的一个,因此是你需要的数字。不幸的是,虽然这个数字并不总是较小,但可能不是你需要的那个。
还值得注意的是,find.exe和timeout.exe等内置命令都可能会在批处理文件外部注册不同的数字,因此不会包含在这些返回的数字中
修改强>
以下版本忽略了上述建议,并将工作集大小保存为@Echo Off
For /F "Delims=" %%A In ('
"WMIC Process Where (Name='cmd.exe') Get CommandLine, WorkingSetSize|Find /I %0"
') Do For /F Tokens^=4Delims^=^" %%B In ("%%A") Do For %%C In (%%B) Do Echo( [%%C]
Timeout -1
。
%WSS%