Windows 如何在批处理脚本中以整数格式输出文件大小
我正在尝试循环浏览文件夹中的文件,并获取所有大于100MB的文件 现在,如果我这样做,我可以得到要输出的文件的大小(以字节为单位):Windows 如何在批处理脚本中以整数格式输出文件大小,windows,batch-file,scripting,Windows,Batch File,Scripting,我正在尝试循环浏览文件夹中的文件,并获取所有大于100MB的文件 现在,如果我这样做,我可以得到要输出的文件的大小(以字节为单位): for %%f in (%FOLDER_PATH%\*) do ( set /p val=<%%f echo %%~z%f ) (%FOLDER\u PATH%\*)中%%f的执行( set/p val=为什么当前文件的第一行被分配了命令行set/p val=,除了z和f之间多余的%,您的代码是有效的 只是从文件%%f中获取第一行内容,然后不使用此
for %%f in (%FOLDER_PATH%\*) do (
set /p val=<%%f
echo %%~z%f
)
(%FOLDER\u PATH%\*)中%%f的执行(
set/p val=为什么当前文件的第一行被分配了命令行set/p val=,除了z和f之间多余的%
,您的代码是有效的
只是从文件%%f中获取第一行内容,然后不使用此变量,这让我感到困惑
for %%f in (%FOLDER_PATH%\*) do (
set /p val=<%%f
Echo %%f:1:!val!
if %%~zf GTR 104857600(
echo file meets criteria
)
)
(%FOLDER\u PATH%\*)中%%f的执行(
set/p val=在if%%~zf GTR 104857600(
)中的左括号前有一个额外的百分号,您需要一个空格。谢谢-第一行位来自教程,我只是在最初发布时忘了将其从代码中删除
@echo off
if not defined FOLDER_PATH set "FOLDER_PATH=%SystemRoot%"
for %%I in ("%FOLDER_PATH%\*") do (
echo File "%%~I" has a file size of %%~zI bytes.
if %%~zI GTR 104857600 echo File "%%~I" is greater 100 MiB.
)
set "FOLDER_PATH="
@echo off
setlocal EnableExtensions EnableDelayedExpansion
if not defined FOLDER_PATH set "FOLDER_PATH=%SystemRoot%"
for %%I in ("%FOLDER_PATH%\*") do (
set "FileSize=%%~zI"
if !FileSize! GTR 104857600 echo File "%%~I" is greater 100 MiB.
)
endlocal
@echo off
setlocal EnableExtensions EnableDelayedExpansion
if not defined FOLDER_PATH set "FOLDER_PATH=%SystemRoot%"
for %%I in ("%FOLDER_PATH%\*") do (
echo File "%%~I" has a file size of %%~zI bytes.
set "FileSize=%%~zI"
if not "!FileSize:~9!" == "" (
echo File "%%~I" is greater 100 MiB.
) else if !FileSize! GTR 104857600 (
echo File "%%~I" is greater 100 MiB.
)
)
endlocal
for %%f in (%FOLDER_PATH%\*) do (
set /p val=<%%f
Echo %%f:1:!val!
if %%~zf GTR 104857600(
echo file meets criteria
)
)