私のいくつかの画像に対してプログラムを実行すると、それらが私のディレクトリに返されました。面白いことに、現在はすべて gif ではなく png 画像になっています。
最初は単純な名前の変更だと思っていましたが、createimagefrompng() を使用して php でテストしました。これは、画像が有効な png ファイルでない場合にエラーをスローします。エラーは返されませんでした。
これにより 100% 正確な結果が得られるかどうかは問題ではありません。問題は、これらすべてのファイルの名前を同様の方法で変更したいということです。
これを行うためにphpファイルを作成できましたが、バッチ、C#、またはJavaで次のことを行うにはどうすればよいか疑問に思っています。
これらのファイルにはまだ「.gif」という文字列が含まれているため、これを削除したいと考えています。PHP では、foreach ループを使用し、ファイルを読み取り、str_replace を使用してから、古いファイルを破棄して新しいファイルを作成するだけで済みます。
バッチ、C#、またはJavaでこれを行う方法についてちょっと行き詰まっています。誰かがここで私を助けてくれますか?
また、Windows Vista を実行しており、Powershell 1.0 がインストールされています。
解決策 1 - C#:
var files = Directory.GetFiles(@"C:\Downloads\Temp\test\");
foreach (var file in files)
{
if(file.Contains(".gif"))
{
string testing = string.Format("{0}.png", Path.GetFileNameWithoutExtension(file.Replace(".gif", "")));
File.Move(file, @"C:\Downloads\Temp\test\"+testing);
}
}