邪恶海盗 发表于 2020-3-26 13:40:37

grub4dos的find --set-root结果能不能当字符串用?

find --set-root /xx == (hd0,1) echo 111
这样写没用

sunsea 发表于 2020-3-26 13:55:12

find --set-root /xx | set abc=
if "%abc%"=="(hd0,1)" echo 111
尝试一下?

邪恶海盗 发表于 2020-3-26 14:08:41

sunsea 发表于 2020-3-26 13:55
find --set-root /xx | set abc=
if "%abc%"=="(hd0,1)" echo 111
尝试一下?


实测无效...

sunsea 发表于 2020-3-26 14:23:33

本帖最后由 sunsea 于 2020-3-26 14:26 编辑

邪恶海盗 发表于 2020-3-26 14:08
实测无效...
既然有--set-root那么检查下%@root%是什么?应该可以用

不点 发表于 2020-3-26 15:07:10

find --set-root /..... 命令之后显示的 (pd),其前面似乎还有一个空格,不知道是否因此而影响了判断语句的结果。

可以 echo %aaa% ,看看 aaa 的值是什么。

指南针 发表于 2020-3-26 16:50:20

我还在无忧看到了

邪恶海盗 发表于 2020-3-26 16:59:35

sunsea 发表于 2020-3-26 14:23
既然有--set-root那么检查下%@root%是什么?应该可以用

这是个好办法,测试成功了...

邪恶海盗 发表于 2020-3-26 17:03:39

不点 发表于 2020-3-26 15:07
find --set-root /..... 命令之后显示的 (pd),其前面似乎还有一个空格,不知道是否因此而影响了判断语句的 ...


奇怪,find --set-root /xxx和find --set-root/xxx结果不一样,是命令对空格敏感还是BUG???

不点 发表于 2020-3-26 17:35:55

本帖最后由 不点 于 2020-3-26 17:38 编辑

邪恶海盗 发表于 2020-3-26 17:03
奇怪,find --set-root /xxx和find --set-root/xxx结果不一样,是命令对空格敏感还是BUG???
空格起着语法分隔的作用。不带空格,肯定是不对的。如果不带空格,比如说就像这样:find --set-root/aaa/bbb/ccc/ddd,那它实际上就等价于 find (后面没有任何参数的情况),这当然不符合你的意图。所以一定要有空格才行。Linux 以及 Windows 的批处理,在很多情况下都是需要用空格来分隔的。

前面的 find 先输出了一行 "......", 所以,aaa 的值就是 ...... 后续的 (pd) 没包括进去。也许这就是 set aaa 命令的正常执行结果了。

如果不合乎你的要求,或者你认为有 bug,你可以向开发者提出来,看看开发者是什么看法。

邪恶海盗 发表于 2020-3-26 19:36:21

不点 发表于 2020-3-26 17:35
空格起着语法分隔的作用。不带空格,肯定是不对的。如果不带空格,比如说就像这样:find --set-root/aaa/ ...

关键是带空格的时候就输出的有那一行......不知道什么情况...

chenall 发表于 2020-3-26 20:02:20

这个很好理解啊

chenall 发表于 2020-3-26 20:02:51

网络的读取进度条

chenall 发表于 2020-3-26 20:03:19

网络的读取进度条

邪恶海盗 发表于 2020-3-26 20:11:20

chenall 发表于 2020-3-26 20:02
网络的读取进度条

了解了...

刚刚想起来,我不带空格运行find --set-root/xxx相当于只执行了root命令,所以返回了驱动器号而没有进度条...

liangjianan 发表于 2020-3-31 10:32:25

美好时光同分享。
页: [1]
查看完整版本: grub4dos的find --set-root结果能不能当字符串用?