2

XYZ.txt ファイルに存在する説明名を読み取り、説明名に基づいてそのファイル名の名前を変更するバッチ ファイルが必要です。

たとえば、「nest.txt」というファイル名があり、テキスト ファイル (nest.txt) を開くと、ファイル名の 2 行目に Description(Description=Man) が含まれている場合、バッチ ファイルは XYZ.txt ファイルの名前を変更する必要があります。 Man.txtとして

上記の条件に基づいて、名前を変更するファイルが 1000 個あります。私を助けてください

4

3 に答える 3

2

これを試して:

for /f "skip=1 tokens=1* delims==" %%i in (nest.txt) do ren XYZ.txt "%%~j.txt"
于 2013-06-28T13:57:00.050 に答える
1

これで始められます。

for /f "tokens=1,* delims==" %%A in ('find /i "Description" "nest.txt"') do echo %%B
于 2013-06-28T13:56:10.300 に答える
1

1000 個の異なる名前を持つ 1000 個のファイルがあるとします。

@echo off
for /f %%i in ('dir /b *.txt') do (
  for /f "skip=1 tokens=1* delims==" %%j in ( %%i ) do ( 
    if "%%j"=="Description" echo ren "%%i" "%%k.txt" 
  )
)

これは、(元の) ファイル名にスペースが含まれているファイルでは機能しませんが、その理由はわかりません。(%%i には最初のスペースの前の部分のみが含まれます)。たぶん、他の誰かがこれを手伝ってくれるかもしれません(確かに、それは小さな変更にすぎませんが、私はそれを見つけることができません)

出力がニーズに合っている場合は、「エコー」を削除してください。

(1000 個のファイルすべてに 1000 個の異なる説明があると確信していますか?)

于 2013-06-28T19:46:37.170 に答える