私は簡単な質問のために私を許してバッチプログラミングでnoobです。バッチ:フォルダ内のすべてのファイルに対してプログラムを実行する方法と、元のファイル名を使用して結果の出力ファイルを作成する方法は?
私はCにおけるFSCというフォルダがあります。私は、プログラムの開発を実行したいと思いますのように呼ばれるテキストファイルの千と千と\ TTG \ FSC、1_A.txt2_A.txtなど を元のファイル名を別のファイルに変更して出力します(例:1_A.txtには1_A_out.txtという出力ファイルがあります)。私はすでに1つのファイルでプログラムを実行するためにテストしており、それは動作します(コマンドラインタグフレンズファイル名)。
フォルダーの各ファイルを解析して出力ファイルを作成するには、どのようにforループを作成できますか?
私はこれを試してみたが、それは
for /F %%i in ('dir /b "c:\treetagger\FSCB1\"') do
tag-french %%i > %%i_out
を動作しません。私はこれを書いUbuntuの中でそれを行うことができます。
for l in /home/sp/Desktop/FSCM5/*
do
echo $l
filename=$(basename "$l")
extension="${filename##*.}"
filename="${filename%.*}"
filename=($(echo "/home/sp/Desktop/FSCM5TTG/"$filename"_"ttg"_."$extension))
echo $filename
sh /home/sp/Desktop/TTG/cmd/tree-tagger-french $l > $filename
done
しかし、私は窓でこれを行う方法を学習したいと思いますあまりに
これは、FOR/Fループがあるためです。フォルダー内のすべての(一致する)ファイルを再帰的に列挙し、その上でコマンドを実行するためのものです。コマンド構文を得るには 'FOR /? 'をタイプしてください。 – user1016274
これを実行しようとしましたが動作しません。 for( 'dir/b "c:\ treetagger \ FSCB1 \"')do/f %% iに対してdo tag-french %% i>% %i_out – Jurafsky
ディレクトリに '* _out.txt'という名前のファイルがすでにある場合はどうなりますか? – aschipfl