小编Rad*_*472的帖子

Windows批处理:使用FOR/F执行命令 - "未找到命令"

我在Windows 7旗舰版的FOR-command中执行其他命令时遇到问题.for-command是批处理文件的一部分,应该解析另一个命令的输出.

通常这个:

for /f %%a IN ('tasklist') DO echo %%a
Run Code Online (Sandbox Code Playgroud)

应执行命令"Tasklist"并通过echo输出其结果.但我总是得到"命令未找到".

我试图在forloop之外执行命令,它可以工作.我也尝试在for中执行大量外部命令,但每个命令都说"命令未找到".

我也试过这篇文章的例子:

批处理:在for循环中使用引号执行命令,并使用管道进行查找

我确定

  • 命令存在
  • 我已经阅读并执行了它的权利
  • 我的用户在管理员组中
  • 我用"以管理员身份运行"运行命令

但这台电脑没有任何作用.相同的命令可以在另一台运行Windows 7终极版的PC上运行.

那么有没有人会在没有找到所有命令的电脑上出错?

这是我使用命令"ls"尝试时我的控制台输出的示例.ls.exe是gun4win项目中的可执行文件,它位于运行批处理文件的同一文件夹中.窗口是德语,所以错误输出也是德语.

C:\测试> test_for.bat

C:\test>rem --- test a command stand-alone ---   

C:\test>ls 
ls.exe        test_for.bat     

C:\test>rem --- test same command in a FOR-Loop ---   

C:\test>for /F "delims=" %a in ('ls') do echo FOR-OUTPUT: %a 
Der Befehl "ls" ist entweder falsch geschrieben oder konnte nicht gefunden
werden.
Run Code Online (Sandbox Code Playgroud)

最终编辑: 问题是系统envoirement变量的错误值ComSpec.

我改变了ComSpec,Erweiterte Systemeigenschaften->Erweitert->Umgebungsvariaben->Systemvariablen" to "C:\Windows\system32\cmd.exe问题解决了.

感谢@foxidrive和@jeb

cmd batch-file command-execution

7
推荐指数
1
解决办法
1166
查看次数

Git 日志(--follow)无法显示重命名之外的历史记录

我尝试通过 gitlog 显示 git 中文件的完整历史记录。问题是该文件的父文件夹在历史记录中被重命名,我喜欢查看完整的历史记录。

git -log 文档说参数--follow-M显示使 git log 遵循重命名。

我尝试了 gitlog 参数的不同组合,例如

git log -M --oneline --all -- --follow newpath/my-file.php

git log -M --oneline --all -- newpath/my-file.php 乃至

git rev-list --all -- newpath/my-file.php --objects --in-commit-order | git log --no-walk --oneline --stdin

但无论我尝试什么,历史记录总是在文件的父文件夹被重命名的提交处结束。

我已经可以确认:

  • 在重命名提交中仅重命名了文件夹,文件的内容100%不变,因此git应该简单地发现旧路径上的文件和新路径上的文件是相同的并且已重命名。

  • git shot name-status对于重命名提交显示R100 oldpath/my-file.php newpath/my-file.php(确认文件内容 100% 相同)

  • 历史的“旧半部”和“新半部”似乎是正确的,都包括重命名commt

  • 当我运行git log -M --oneline --all -- --follow newpath/my-file.php最旧的提交时 0979744 renamed: oldpath/ -> newpath/

  • 当我运行git log …

git version-control git-log

5
推荐指数
1
解决办法
1101
查看次数

具有 srcset、大小、媒体查询的响应式图像 - 防止加载巨大图像以获得更高的像素密度

我很长一段时间都使用图片元素来制作每个视口不同尺寸的响应式图像。它工作得很好,但现在我被迫切换到响应式,并且<img>我尝试将我的图片元素重写为 IMG 样式。srcsetsizes

经过长时间的搜索,我在以下位置找到了很好的文档:

https://www.dofactory.com/html/img/sizes 以及更多详细信息: https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images

带图片的代码是这样的:

<picture>
    <source media="(max-width: 740px)" src="740.jpg" type="image/jpeg">
    <source media="(max-width: 980px)" src="1280.jpg" type="image/jpeg">
    <source media="(max-width: 1280px)" src="1600.jpg" type="image/jpeg">
    <source media="(max-width: 1480px)" src="1920.jpg" type="image/jpeg">
    <img src="740.jpg" title="..." alt="..." />
</picture>  
Run Code Online (Sandbox Code Playgroud)

我将其重写为响应式 img,如下所示:

<img src="740.jpg" title="..." alt="..." 
    srcset="
       740.jpg 740w,
       1280.jpg 1280w,
       1600.jpg 1600w,
       1920.jpg 1920w" 
    sizes="
       (max-width: 740px) 740px,
       (max-width: 980px) 1280px,
       (max-width: 1280px) 1600px,
       (max-width: 1480px) 1920px"
/>
Run Code Online (Sandbox Code Playgroud)

这在浏览器中的第一次测试中似乎效果很好。但后来我注意到在移动设备上它加载了太大的图像。

原因是某些移动设备的像素密度不同,如 响应图像完整指南中所述

您也可以使用 Firefox 的开发工具来模拟: Firefox 开发工具

我尝试通过将代码更改为来解决此问题

<img src="1920.jpg" title="..." alt="..." 
    srcset=" …
Run Code Online (Sandbox Code Playgroud)

html image srcset pixel-density responsive-images

5
推荐指数
1
解决办法
3102
查看次数