2017-02-24 3 views
0

こんにちは私はここで私の深さから少しです。私は過去の投稿を読んでみましたが、私の不慣れにより、私は他の解決策を私のものに取り入れることができません。私も実際に適切なコードを用意していませんが、私の質問が単純なように思えるかもしれないと思っています。ありがとうございました。テキストファイルから文字列を引き出し、そのテキストを使用してファイルの名前を変更します。/Fについて?デリムズ?

EOUTデータをFOUT_R.ediというファイルにエクスポートするプログラムがあります。ファイルを調べ、行4の値3と行7の値3から文字列を引き出し、ファイルの名前を変更するバッチスクリプトが必要です組み合わせた値を使用します。値はアスタリスクで区切られています。以下のサンプル...

ISA*00*   *00*   *ZZ*JK60   *ZZ*  MFG *: 
GS*IN*JK60*  MFG*20170223*1531*1*X*004010 
ST*810*0001 
BIG*20170223*237454 
CUR*SE*CAD 
REF*SI*238972 
N1*ST*VEHICULOS COMERCIALES MEXICO S.A. DE C.V*92*065 
N1*SU*METAL*92*JK60 
DTM*011*20170223 

だから最後に、私は
"237454 VEHICULOS COMERCIALES MEXICO S.A. DE C.V.edi"
(.ediファイル拡張子であることを)読み取るために、ファイル名をしたいです。ここでも私がやっているかわからない、私のスタータースクリプトは、この

for /f "delims=*" %%fname1 IN (FOUT_R.edi) DO ren FOUT_R.edi %%fname1.edi 

のように見えるが、それはそれは私のためだけの開始地点だった明らかに間違っているが、私は、これは私のリーグの外であることを今実現しています。

誰かが、経験の浅いスクリプターが赤ちゃんの段階で説明できるサイトに案内してくれますか?

ありがとうございました。

答えて

0

はコロンが含まれていない、これが何をすべき:出力はOKに見える場合

@Echo off&SetLocal EnableExtensions EnableDelayedExpansion 
set "FileName=FOUT_R.edi" 
set "NewName=" 
for /f "tokens=4 delims=:*" %%A in (
    'findstr /N "^" "%FileName%" ^|findstr "^4: ^7:"' 
) Do Set "NewName=!NewName! %%A" 
Echo Ren "%FileName%" "%NewName:~1%.edi" 
timeout -1 

を、返信用Echo

+0

ありがとう、これは魅力のように動作します。 – wrespawn

0
@echo off 
setlocal 

set "filename=FOUT_R.edi" 

for /F "skip=3 tokens=3 delims=*" %%a in (%filename%) do set "Line4value3=%%a" & goto break1 
:break1 

for /F "skip=6 tokens=3 delims=*" %%a in (%filename%) do set "Line7value3=%%a" & goto break2 
:break2 

ren %filename% %Line4value3%%Line7value3%.edi 

申し訳ありませんが、説明はありません。コマンドプロンプトセッションを開き、コマンドを入力してから/?を入力します。

ファイル名にスペースが含まれる場合は、引用符で囲む必要があります。 7行目に名前を提供

+0

感謝を削除!私はこの作業を得ることができなかった、それは私に構文エラーを与え続けた。私はセット "ファイル名= FOUT_R.edi"で括弧を削除しようとしたが、それは助けていないし、私はちょうどセットファイル名= "FOUT_R.edi"スクリプトを実行することができましたが、 edi "には括弧がついていないので、本質的にファイル名はありませんでした。それを働かせる方法がわからない。 – wrespawn

+0

'ren'コマンドを' ren "%filename%" "%Line4value3 %% Line7value3%.edi" ' – LotPings

+0

に変更しなければなりません。 – wrespawn

関連する問題