本質的には、あるフォルダから別のフォルダにファイルをコピーし、コピー中にファイルの名前を変更する.netプログラムがあります。 DOS形式のワイルドカードを使用して、コピーするファイル名&をファイル名に指定します。例えばC#DOSワイルドカードでファイル名を変更
:
出典:* .logのターゲット:aa.txtする* .txtの
コピーaa.logなど
をbb2.1.txtするbb2.1.logまたは
出典:ABC * .CSV対象:KKabcxyz_123.csvにabcxyz.csv KK * _123.csv
コピー、abc1722.mm.csvにKKabc1722.mm_123.csv
C#またはVB.netでこのようなコピー/名前の変更を実装するにはどうすればよいですか?
File.Copy(SourceFile, TargetFile)
は、ファイル名にワイルドカード(* ,?)をサポートしていないため、ターゲットファイル名を生成する方法はおそらく問題ですか?
PS もし私がソース/ターゲットファイル名にいくつかの制限を加えることができますが、私はそれを避けたいと思います。
PPS 必要に応じて、プロセスを別々の部分に分けることができます。 例#2:出典:ABC * .CSV対象:KK * _123.csv
ソースに置き換えることができます:ABC * .CSV対象:KK * .CSV
と 出典:株式会社* .csv対象:* _123.csv
ソースがabc * .csvで、ターゲットがxyz * _123.csvの場合、abcxyz_cs .csvではなくxyzxyz_123.csvにabcxyz.csvをコピーする必要がありますか? – juharr
あなたは正しいです。私は自分の質問を修正した。実際には、この例の予想されるターゲットファイル名はxyzabcxyz_123.csvです。つまり、ファイル名の先頭に 'xyz'を追加し、ファイル拡張子の前に '_123'を追加します – Alex