ターゲットファイルが存在しない場合は、以下のバッチコードを使用して特定のディレクトリ内のすべてのファイルを変換しますその内のすべてのサブマップとファイルを使用して(とそのサブマップと出力の相対保つ)これは相対ファイル性を維持しながらサブマップ内のすべてのファイルを出力フォルダに再帰的に解析する
は、だから私は現在、使用を:
for %%f in (input/textures/*.*) do (IF NOT EXIST "ouput/textures/%%~nf.dds" (
"bin/ThempImageParser.exe" "input/textures/%%f" "ouput/textures/%%~nf.dds"
)
)
これは(意図していたとして)単一のフォルダのために完璧に動作し、それはすべて取りますその特定のフォルダにあるファイルを引数として渡して実行可能ファイルに渡します。そして、そのファイルを第2引数のパスに出力しますnt。
しかし、これにも欠陥があります(これはもう一つの問題です)。もし出力フォルダが存在しなければ動作しませんので、可能であれば必要に応じてフォルダを作成したいさあ。
私はバッチのドキュメントを見つけました(バッチの経験はあまりありません)。FORFILESと/ Rパラメータというコマンドを表示していますが、これを調整して相対パスを保持することはできませんでした出力についても、文字列の操作が必要になりますし、それを行う方法についての手がかりはありません。
だから私は後だ結果がこのようなもので、それはより深い例えば、「入力/テクスチャ/以外の任意のファイルを取ります。
input/textures/some/very/deep/submap/why/does/it/go/on/myfile.anyExtension
それはそのファイル(および相対パス)を取る必要があり、基本的に「出力」と「入力」に変更し、このような.ddsとファイル拡張子置き換える:
ouput/textures/some/very/deep/submap/why/does/it/go/on/myfile.dds
をし、私の実行可能ファイルに、これらの2つの文字列を渡す
サブマップとは何ですか? Windowsの世界では、パスにバックスラッシュを使用しています。 – Squashman
サブマップ/サブフォルダ/サブディレクトリ特定のルートフォルダの下にあるものは、私が間違った単語を選んだ場合、残念です。 また、バッチでも構いませんが、エクスプローラ自体に入力することもできます)、スラッシュ自体を解決するために使用するスラッシュは実際には問題になりません。 – Themperror
スラッシュが付いている多くのものが真ですが、フォワードスラッシュで失敗するいくつかのWindowsコンソールコマンドがあります。私はバカファイルを書いている20年以上前から、私は何が起こっているのかを思い出すことはできません。 – Squashman