1

さまざまな方法を試しましたが、うまくいきません。

さまざまなフォルダーに多くのテキスト ファイルがあるため、入力ファイルを変数として参照したいと思います (*.txt など) (bat ファイルと同じフォルダーにある txt ファイルを使用するだけです)。

最初の 6 行をコピーして、新しい txt ファイルに貼り付ける必要があります。
名前を付けたいのですが (必須ではありません) SAMPLE_original_txt_file_name

例えば:

Input = text01.txt
Output = SAMPLE_text01.txt (this would contain the first 6 complete lines from text01.txt)

壁にぶつけすぎて頭を縫う必要があるので、助けていただければ幸いです...

4

2 に答える 2

2

以下は私のために働いた:

@ECHO OFF
IF "%~1" == "" (ECHO Usage: %~nx0 filemask& GOTO :EOF)
FOR /F "delims=" %%I IN ('DIR /B %1') DO (
  <"%%I" (
    FOR /L %%I IN (1,1,6) DO (
      SET line=
      SET /P line=
      SETLOCAL EnableDelayedExpansion
      ECHO(!line!
      ENDLOCAL
    )
  ) >"%%~dpISAMPLE_%%~nxI"
)

上記のスクリプトは、のようなファイルマスクである引数を想定しています*.txt。また、(既存の)パスで完成したマスクもサポートします。パスが指定されているかどうかに関係なく、出力サンプルファイルは元のファイルと同じディレクトリに作成されます。

于 2012-06-15T06:02:48.257 に答える
0
@echo off
set count=0
for /f "tokens=*" %%i in (text01.txt) do (
call :counter %%i
)
goto :eof
:counter
rem echo count is %count%
set /a count+=1
if %count% lss 7 echo %* >> SAMPLE_text01.txt
GOTO :eof
于 2012-06-15T04:11:08.073 に答える