1

それが可能かどうかはわかりませんが、必要なのはWindows 7で実行され、そのようなことを行うプレーンなbat/cmdファイルです。

ステップ 1. findstr- 正規表現エンジンを使用して特定の文字列を見つける必要があります。タグで囲まれた数値を探しているとします<id>123</id>(そのようなファイルは一意であるため、1 つの値が返されるとします)。コマンドは123画面に出力されますが、変数に保存する必要があります (方法がわからない)。

findstrステップ 2.別のディレクトリへの別の呼び出し。ここで/m、手順 1 で保存した値を含むファイル NAME (オプション) を検索します (別のファイル グループ、つまり別のディレクトリ)。もう一度、結果 (ファイルの名前) を変数に保存します。たとえば、file_123.txt条件に一致します。

ステップ 3. 2 回目のfindstr呼び出しの結果として取得したファイル ( file_123.txt) を別の場所にコピーします。

Windowsコマンドの結果を変数に保存して、これらの値を後続のコマンドにパラメーターとして提供できるようにする方法について、質問全体が変わります。

4

2 に答える 2

3

変数でコマンド出力を取得する一般的な方法は次のとおりです。

for /f %%x in ('some command') do set Var=%%x

(コンテキストと正確に何が望まれるかに応じて、さまざまなバリエーションがあります)。

あなたの歩みについては、昼食後に詳しく説明します。いくつかの複雑さがあります。

于 2011-06-08T10:36:49.073 に答える
0

ステップ1:

FOR /F "USEBACKQ tokens=1-20 delims=<>" %%A in (`FINDSTR "123" "path of file to search in"`) DO (
 SET var=%%B
)

ECHO %var%

出力の一部を「区切る」もの (スペース、特殊文字など) に応じて delims が変化することを理解してください。

ステップ 2 & 3:

FOR /F "USEBACKQ tokens=*" %%A IN (`DIR "Path" /A ^| FIND /I "%var%"`) DO (
 COPY /Y "%%A" "C:\New\Path\%%~nxA"
)
于 2011-06-23T17:17:47.580 に答える