請問如何 批次執行 Notepad的資料修該?

因為工作需要. 每月須要執行45個相同格式的.txt檔(即45次)

檔案由別單位按月提供, 格式為文字檔, 第1列為欄名, 第2列起為資料列約300~500列(不固定列數, 但所有資料皆依時間由小至大排列),

每個檔案每次需要做以下動作

* 保留第1列, 以及檔案最後4列(最近4期資料), 其他列刪除.

* 另存該檔案

請問一下批次檔如何寫? (假設原始檔案 file01.txt, file02.txt, ..., file45.txt)

請教高手..

2 Answers

Rating
  • Anonymous
    1 decade ago
    Best Answer

    擔心複製後貼上會出錯?可以直接下載已寫好的檔案,請到這裡下載,(如何下載:請參考這裡)

    使用方法:

    NextMonth c:\2009-11 c:\2009-12

    [NextMonth.cmd]

    @echo off

    setLocal ENABLEEXTENSIONS

    if $%1$ == $$ goto showUsage

    if $%2$ == $$ goto showUsage

    if not exist %1 (

    dir /b %1

    echo.

    goto showUsage

    )

    if not exist %2 md %2

    for %%F in (%1\*.txt) do (

    head -1 %%F > %2\%%~nxF

    tail -4 %%F >> %2\%%~nxF

    )

    goto end

    :showUsage

    echo Create Next Month Report

    echo =====================================================================================

    echo Usage:

    echo.

    echo %0 [drive:]this_month_report_path [drive:]next_month_report_path

    echo.

    :end

    endlocal

    補充說明:

    「head.exe」、「tail.exe」原本是 unix 上的指令,現在有善心人士把它們移植到 Windows 平台上,您可以在「NextMonth.zip」中找到,或者到這下載:http://sourceforge.net/projects/unxutils/

    格式如有跑掉,請參考:http://pushba.com/a1b6de7f

  • 1 decade ago

    應該蠻難的吧

    或是不可能

    原因是你限定使用批次檔

    但是批次檔的指令

    無法找到第1列和最後4列的資料

    就無法做你想要做的功能

    試試寫一段小程式來做會比較簡單

Still have questions? Get your answers by asking now.