2016-05-14 16 views
0

簡単な質問。 IMDUコマンドバッチファイル拡張子を変更する

imdu /b file.imd file.raw 

を行うと、file.raw

にfile.imdを変換する私はそう、私は

for %%x in (*.imd) do imdu /b %%x %%~nx.raw 

を試してみましたが、バッチ を必要とする.IMD の多くを持っていますが、は機能しません。%%というファイルを作成します。raw

拡張子imdを削除して、ローレルに置き換えるバッチが必要ですどのようにすればいいですか?

+1

'for %% x in(*。imd)do ECHO imdu/b %% x %%〜nx.raw'は正しい出力を表示します。ところで、私は 'IMDU'コマンドは名前を変更することに加えていくつかの余分な_contents_変換をすると思いますね。 – JosefZ

答えて

2

コマンドプロンプトウィンドウを開き、for /?を実行し、出力ヘルプを注意深く完全に読んでください。

%~xI(のみ%Iのファイル拡張子)と%~nI(のみ%Iのファイル名)と%~nxI%Iの拡張子を持つファイル名)が説明されています。

したがって、%%~nxという意味のWindowsコマンドプロセッサでは、ループ変数としてxを使用することはお勧めできません。小文字はループ変数として使用しないでください。

ループ変数は大文字と小文字が区別されているとして、例えば、このような単純なループ

for %%# in (*.imd) do imdu.exe /b "%%#" "%%~n#.raw" 

ため

for %%X in (*.imd) do imdu.exe /b "%%X" "%%~nX.raw" 

や私のお気に入りを使用すると、ファイルなどのファイル名を二重引用符を忘れてはいけませんファイル名の前後に二重引用符を必要とするファイル名にスペースや角括弧を入れることができます。コマンドの場合は、この使用例では、常にループ変数内に二重引用符を囲まないファイル名を保持します。

3

このタスクでは、Windows Powerシェルを使用することをお勧めします。しかし、CMDは、Windows上で

バッチ/ CMD

あまりにもうまく動作する目的のディレクトリに移動し、タイプします:

ren *.txt *.c 

.txtは、現在の拡張と.c新しいものであること。 *すべてのファイルに

を意味PowerShellの

*.txt持つすべてのテキストファイルの拡張子が.name

に変更されますここでは代わりに-replace

Dir *.txt | rename-item -newname { [io.path]::ChangeExtension($_.name, "c") } 

Path.ChangeExtension方法を使用することをお勧めします

乾杯!

+1

これは技術的にはDOSではありませんが、これはWindows 95以降ではありませんでした。 – SomethingDark

関連する問題