将命令的输出设置为变量
Set output of a command to a variable
我想将 10 天前修改的文件数获取到一个变量。
我可以使用
获取文件数量
forfiles /P "D:\files" /S /D -10 | find /c /v ""
但是当我尝试使用 FOR 将它分配给一个变量时,它给出了错误。
我在 FOR 中使用的命令是
FOR /F "delims=" %i IN ('forfiles /P "D:\files" /S /D -10 | find /c /v ""') DO set today=%i
当我删除 | find /c /v ""
时它实际上工作正常
FOR /F "delims=" %i IN ('forfiles /P "D:\files" /S /D -10 ^| find /c /v ""') DO set today=%i
在这种情况下你需要逃离管道。
是的,您可以使用 FIND 命令来计算它找到的次数,但您不需要这样做。您可以只使用 set 命令来迭代一个变量。
FOR /F "delims=" %%G IN ('forfiles /P "D:\files" /S /D -10') do @set /a count+=1
我想将 10 天前修改的文件数获取到一个变量。 我可以使用
获取文件数量forfiles /P "D:\files" /S /D -10 | find /c /v ""
但是当我尝试使用 FOR 将它分配给一个变量时,它给出了错误。 我在 FOR 中使用的命令是
FOR /F "delims=" %i IN ('forfiles /P "D:\files" /S /D -10 | find /c /v ""') DO set today=%i
当我删除 | find /c /v ""
FOR /F "delims=" %i IN ('forfiles /P "D:\files" /S /D -10 ^| find /c /v ""') DO set today=%i
在这种情况下你需要逃离管道。
是的,您可以使用 FIND 命令来计算它找到的次数,但您不需要这样做。您可以只使用 set 命令来迭代一个变量。
FOR /F "delims=" %%G IN ('forfiles /P "D:\files" /S /D -10') do @set /a count+=1