私は、同じ3文字で始まるすべてのファイルを選択できるWindowsシェルコマンドを見つけようとしています。 000world 111foo 121bar同じ最初の数文字でファイルを見つける
000helloは、コマンドは私の最初の2つのファイルになるだろう。だから、たとえばディレクトリには、以下があった場合。これを行う方法はありますか?
私は、同じ3文字で始まるすべてのファイルを選択できるWindowsシェルコマンドを見つけようとしています。 000world 111foo 121bar同じ最初の数文字でファイルを見つける
000helloは、コマンドは私の最初の2つのファイルになるだろう。だから、たとえばディレクトリには、以下があった場合。これを行う方法はありますか?
Windowsのコマンドラインを、ワイルドカード?
dir 000*
*
?
であるあなたの新しい情報に基づいてファイル名
に単一の文字に一致するワイルドカード文字:
for /f %i in ('dir /b 000*') do (
echo %i is the name of the file we found
type %i
)
バッチファイルの場合は、%%i
を使用してください。
これは、現在の作業ディレクトリに滞在することを前提としています。ディレクトリツリーをサブディレクトリに移動する場合は、for /r
を参照してください。
彼は 'bash' 'shell' 'script'で彼の質問にタグを付けました。彼はCygwinを使用しているに違いありません。私はそれが混乱thoに同意するだろう。 – KurzedMetal
@ KurzedMetalうん。私もそれを見た。そして私はまた混乱しています。 – Marc
問題は、私は000ですべてのファイルを選択したい、何らかの操作をしたい、そして111のような同じファイル名を持つ他のファイルが存在するならば、それらに同じ操作をしなさい。だから私はディレクトリ内のwhatsをあらかじめ知っていません。私は、同じ接頭辞を持つファイルのグループを1つずつ選択し、その上で何らかの操作を行います。 –
タグが付いているので、どのような解決策が必要なのかは明らかではありませんが、Rubyを使用する可能性がある場合は、この方法が有効です。
# create a hash of arrays where the hash value is the first three letters of the
# file name and the value is an array of those entries.
h = Hash.new{|h,k| h[k] = []}
Dir.foreach(".") { |f| h[f[0..2]] << f }
# then print/use the ones that have multiple entries
h.each_key { |k| puts h[k] if h[k].length > 1 }
WindowsシェルまたはBash?彼らは同じではありません。あなたが望むことをするためのテクニックは大きく異なるので、適切にタグ付けされた2つの質問を投稿する必要があります。 –
タグをタグとして/ powershellとしてcmdを追加してください。 – tuxnani