を提供します。代わりに、単純なincrimental数値rename関数のバッシュ/バッチ複数ファイル、単一フォルダ、不正な名前変更スクリプト。ユーザーは、私が名前を変更する必要があるファイルのフォルダを持っているファイル名の接頭辞パラメータ
は、私が最初にそのフォルダ内のファイル名の整合性を確保するためにincrimentう命名規則を提供する必要があります。
は、私はファイルを持っていると言う:
に名前を変更する必要がwei12346.txt
wifr5678.txt
dkgj5678.txt
:
Eac-345-018.txt
Eac-345-019.txt
Eac-345-020.txt
私が命名は異なる可能性があるスクリプトとそれに沿って行くために、数値incrimentを実行するたびに
Ebc-345-010.pdf
Ebc-345-011.pdf
Ebc-345-012.pdf
私はユーザーから提供されたパラメータを尋ねる必要がありますこれは索引付けされるファイルのリストの中の前のファイル名として有用かもしれないと考えていました。例えば:Eac-345-017.txt
もう一つのことは、スクリプトがどのように099から100または999から1000のように私はこのプロセスがどのように実行されているか分からない。
私は、しかし、私は仕事でWindowsマシン上でCygwinを実行すると、スクリプトを実行するために、唯一のbashや窓のシェルへのアクセスを持っていますこれはperlで簡単にスクリプトであることを告げてきました。
行く私を取得するための任意のポインタをいただければ幸いです、私はいくつかの経験のプログラミングを持っていますが、スクリプトはほぼ完全に新しいです。
おかげで、 クレイグ
(私は理解してあり、すでに事のこのタイプのポストのアロットですが、どれも任意の簡潔な答えは、それゆえ私の質問を提供するように見えるん)
同じ種類のエラーが上に表示されているので、cygwinに問題があると思います。私は自分のhome * nixボックスでスクリプトを実行し、それをどのように扱うかを見てみよう。私は拡張子を変更しようとしているわけではありません。プレフィックスを変更する必要があります。たとえば、最初の接頭辞、例えばEV1-10を与え、次に前のファイルのaffrimentの値を返します。0014に0015になります。私は潜在的に何千ものファイルを処理するので、私は懸念していた問題を解決するのに便利です。私はスクリプト変数などに精通していない私は言ったようにJavaは私の慣れ親しんだ言語です。おかげで –
@Craig:Windowsのメモ帳からスクリプトを作成していますか?メモ帳、そしてほとんどのWindowsネイティブテキストエディタは、DOS形式の行末でテキストファイルを保存します。 BashにはUnixスタイルの行末が必要です。ファイルを変換するか、それを行う方法を理解しているエディタで再保存してください。簡単な変換スクリプト: 'tr -d '\ r' tmp_file; mv file _file your_script_file'にコピーします。私はnotepad2またはbraindeadでない別の無料のメモ帳workalikeをダウンロードすることをお勧めします。注意:shとbashは同じものではありません! –
Sorpigal
私はnotepad ++を使用して作成しています。 –