用于获取文本文件大小的批处理脚本

时间:2016-07-21 07:12:00

标签: batch-file

我需要将输出作为文本文件读取。 这是三个文件。 (1)目前我有一个输入文件 (2)目前我有输出文件 (3)实际上我需要什么作为输出

我有六个.ptp文件。它来自G代码。我需要逐行获取每个文件的大小,与数字(3)相同 举个例子:    “01.ptp”的大小为123290字节

//(1)
@ECHO OFF

set "filename=*.ptp"
set "filename1=*_MachTime.txt"

for %%A in (%filename1%) do ( 
    for %%B in (%filename%) do (
        echo Size of "%%B" is %%~zB bytes >>shop1.txt
        )  
type %%A >>shop1.txt
)

exit​




//(2)

Size of "01.ptp" is 123290 bytes 
Size of "02.ptp" is 7714 bytes 
Size of "03.ptp" is 43473 bytes 
Size of "04.ptp" is 41137 bytes 
Size of "05.ptp" is 45802 bytes 
Size of "06.ptp" is 75346 bytes 

=======================================================================================
LAB12JT01-UG01                                                        Time  26.92 MIN.
O0010         ToolD5_FLAT               S 3000.00  F 300.00                   Z -64.00  mm
--------------------------------------------------------------------------------------

Size of "01.ptp" is 123290 bytes 
Size of "02.ptp" is 7714 bytes 
Size of "03.ptp" is 43473 bytes 
Size of "04.ptp" is 41137 bytes 
Size of "05.ptp" is 45802 bytes 
Size of "06.ptp" is 75346 bytes 

=======================================================================================
LAB12JT01-UG02                                                        Time  2.59 MIN.
O0020         ToolD2X10_FLAT            S 7500.00  F 200.00                   Z -57.20  mm
--------------------------------------------------------------------------------------

Size of "01.ptp" is 123290 bytes 
Size of "02.ptp" is 7714 bytes 
Size of "03.ptp" is 43473 bytes 
Size of "04.ptp" is 41137 bytes 
Size of "05.ptp" is 45802 bytes 
Size of "06.ptp" is 75346 bytes 

=======================================================================================
LAB12JT01-UG03                                                        Time  8.30 MIN.
O0030         ToolD1X4_FLAT             S 7500.00  F 100.00                   Z -56.00  mm
--------------------------------------------------------------------------------------

Size of "01.ptp" is 123290 bytes 
Size of "02.ptp" is 7714 bytes 
Size of "03.ptp" is 43473 bytes 
Size of "04.ptp" is 41137 bytes 
Size of "05.ptp" is 45802 bytes 
Size of "06.ptp" is 75346 bytes 

=======================================================================================
LAB12JT01-UG04                                                        Time  8.03 MIN.
O0040         ToolD1X4_FLAT             S 7500.00  F 100.00                   Z -56.00  mm
--------------------------------------------------------------------------------------

Size of "01.ptp" is 123290 bytes 
Size of "02.ptp" is 7714 bytes 
Size of "03.ptp" is 43473 bytes 
Size of "04.ptp" is 41137 bytes 
Size of "05.ptp" is 45802 bytes 
Size of "06.ptp" is 75346 bytes 

=======================================================================================
LAB12JT01-UG05                                                        Time  7.10 MIN.
O0050         ToolD1_BALL               S 7500.00  F 200.00                   Z -50.27  mm
--------------------------------------------------------------------------------------

Size of "01.ptp" is 123290 bytes 
Size of "02.ptp" is 7714 bytes 
Size of "03.ptp" is 43473 bytes 
Size of "04.ptp" is 41137 bytes 
Size of "05.ptp" is 45802 bytes 
Size of "06.ptp" is 75346 bytes 
​



//////(3)
Size of "01.ptp" is 123290 bytes 
=======================================================================================
LAB12JT01-UG01                                                        Time  26.92 MIN.
O0010         ToolD5_FLAT               S 3000.00  F 300.00                   Z -64.00  mm
--------------------------------------------------------------------------------------

Size of "02.ptp" is 7714 bytes 
=======================================================================================
LAB12JT01-UG02                                                        Time  2.59 MIN.
O0020         ToolD2X10_FLAT            S 7500.00  F 200.00                   Z -57.20  mm
--------------------------------------------------------------------------------------


Size of "03.ptp" is 43473 bytes 
===================================================================================
LAB12JT01-UG03                                                        Time  8.30 MIN.
O0030         ToolD1X4_FLAT             S 7500.00  F 100.00                   Z -56.00  mm
--------------------------------------------------------------------------------------


Size of "04.ptp" is 41137 bytes 
=======================================================================================
LAB12JT01-UG04                                                        Time  8.03 MIN.
O0040         ToolD1X4_FLAT             S 7500.00  F 100.00                   Z -56.00  mm
--------------------------------------------------------------------------------------


Size of "05.ptp" is 45802 bytes
=======================================================================================
LAB12JT01-UG05                                                        Time  7.10 MIN.
O0050         ToolD1_BALL               S 7500.00  F 200.00                   Z -50.27  mm
--------------------------------------------------------------------------------------


Size of "06.ptp" is 75346 bytes 
=======================================================================================
LAB12JT01-UG06                                                        Time  8.69 MIN.
O0060         ToolD0.6_FLAT             S 7500.00  F 100.00                   Z -51.60  mm
--------------------------------------------------------------------------------------
​

1 个答案:

答案 0 :(得分:0)

只需定义一个全局计数器(COUNTER)和一个本地计数器(COUNTER2)。仅当两个计数器匹配时才打印大小。

@ECHO OFF

set "filename=*.ptp"
set "filename1=*_MachTime.txt"
SETLOCAL ENABLEDELAYEDEXPANSION
set COUNTER=0

for %%A in (%filename1%) do (
    set COUNTER2=0

    for %%B in (%filename%) do (
        rem if !COUNTER2!==!COUNTER! echo Size of "%%B" is %%~zB bytes >> shop1.txt
        rem update with size in KB
        set /A KBS=%%~zB/1024
        if !COUNTER2!==!COUNTER! echo Size of "%%B" is !KBS! bytes >> shop1.txt
        set /A COUNTER2=!COUNTER2!+1
        )
    set /A COUNTER=!COUNTER!+1
type %%A >> shop1.txt
)

不是很优雅,但嘿,它的批处理文件毕竟是你所期待的?