ホームページ  >  記事  >  バックエンド開発  >  アドバイスを求める: Bat バッチ処理は N 個の txt からランダムに 1 行を選択し、それを別の txt に結合します。

アドバイスを求める: Bat バッチ処理は N 個の txt からランダムに 1 行を選択し、それを別の txt に結合します。

WBOY
WBOYオリジナル
2016-06-23 13:22:221602ブラウズ

フォルダーの下に何百ものテキストがあり、各テキストからランダムに行を抽出して別のテキストに保存したいです

バットコードを聞いてください


ディスカッションへの返信(解決策)

phpで書いてみませんか?

php で書いてみませんか?



PHP はローカルで実行できますか?バットの方が良いような気がするのでコードを教えてください。ありがとうございます。

ファイル内の行の抽出をサポートするコマンドは Bat にはありません
Linux では grep コマンドを使用できる可能性がありますが、これは本題から外れます

php 自体はオペレーティング システムのスクリプトとして実行できます ( CLI モード)、次のように記述できます

@REM<?php @REM ==' @SET PHPCLI=\AMP\php54\php.exe @REM PHPCLI表示你的CLI模式的php.exe的路径 @%PHPCLI% %0 @goto :EOF @REM';?> <?phpforeach(glob('*.txt') as $fn) {  $a = file($fn);  if($a) {    shuffle($a);    file_put_contents('结果.txt', $a[0], FILE_APPEND);  }}exec("pause"); ?>

Linux では、grep コマンドを使用できる可能性がありますが、これはトピックから外れています。それ自体はオペレーティング システムのスクリプト (CLI モード) として実行でき、次のように書くことができます

@REM<?php @REM ==' @SET PHPCLI=\AMP\php54\php.exe @REM PHPCLI表示你的CLI模式的php.exe的路径 @%PHPCLI% %0 @goto :EOF @REM';?> <?phpforeach(glob('*.txt') as $fn) {  $a = file($fn);  if($a) {    shuffle($a);    file_put_contents('结果.txt', $a[0], FILE_APPEND);  }}exec("pause"); ?>



モデレータの努力に感謝します!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。