バッチファイルを指定したフォルダ内から完全にランダムなテキストファイルを選択することは可能ですか?バッチでランダムテキストファイルを選択
誰かが私を助けてくれますか?ここでの目標はそれを作ることです
時に\ワークステーション\ジョブズ とそのフォルダ内の10-20 .txtファイルが多分そこにある:C:
例 は、私がここにあるフォルダを得たことを言うことができますバッチファイルテキストファイルのみを含有し、フォルダの場合は、変数
バッチファイルを指定したフォルダ内から完全にランダムなテキストファイルを選択することは可能ですか?バッチでランダムテキストファイルを選択
誰かが私を助けてくれますか?ここでの目標はそれを作ることです
時に\ワークステーション\ジョブズ とそのフォルダ内の10-20 .txtファイルが多分そこにある:C:
例 は、私がここにあるフォルダを得たことを言うことができますバッチファイルテキストファイルのみを含有し、フォルダの場合は、変数
@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
FOR /f %%a IN (
'dir /b /a-d "%sourcedir%\*.txt"^|find /i /c ".txt" '
) DO SET /a selection=1 + (%RANDOM% %% %%a)
FOR /f "tokens=1*delims=:" %%a IN (
'dir /b /a-d "%sourcedir%\*.txt"^|findstr /n /i ".txt" '
) DO IF %%a==%selection% SET filename=%%b
ECHO selected %filename%
GOTO :EOF
あなたの状況に合わせてsourcedir
の設定を変更する必要があります。
find /c
は、dir
コマンドで検出されたファイルの数をカウントし、for
は、カウントを%%a
に割り当てます。 selection
は1+(ランダム番号 mod ファイル数)に割り当てられ、1.ファイルカウント。 delimsである第1デリミタafther(ファイル名を:
前番号(トークンが割り当てられる%%と%%b
:
findstr /n
はによってシーケンシャル番号を接頭辞、dir
コマンドで見つかった各ファイルの名前を出力します:
)
行番号は、ファイル名が見つかったファイル名が割り当てられ、selection
と一致する。
あなたのコードには1つの問題しかありません。空白のあるファイルを扱うように見えますが、それは実行が拒否されたことを意味します。 – NickyGamePlays
ファイル名にスペースが含まれていても、ディレクトリ名にスペースがあっても完全に実行されます。使用しているファイル名の小さなサンプルを投稿してください。 – Magoo
ファイル名は、実際にはその作業を行ったPCのユーザー名です。Private User Account.txt、Guest User Account.txt、Dave's Account.txt、Lennys Account.txt – NickyGamePlays
に選びだしたファイルをフォルダをチェックして、ランダムなファイルや出力を選択し、次のものが必要だろう:
源:-)正しい方向にあなたをプッシュ
希望する変数の配列) 0
Create list or arrays in Windows Batch
あなたは今、答えはあるので、あなたの質問を言い替えるしたいとしている「はい、それはある。」 – SomethingDark
があります前記folの他のファイル? – YVbakker
@YVbakkerいいえ、テキストファイルのみがあります。 – NickyGamePlays