0

特定のフォルダーに含まれるすべてのファイルの拡張子をすばやく切り替える必要があります。

C:\My Folder\に 200 個のファイル (すべて)が含まれているとします.txt

スクリプトを実行することにより、それらすべてを次のように変更します.xml

その後

同じスクリプトを再度実行することで、それらをすべて元に戻し.txtます。

つまり、この 1 つのスクリプトを実行すると、これらの 200 個のファイルが無期限に (ある場合.txt) に.xmlなり、(ある場合.xml).txtループされます...

バッチの場合、次のようなことを念頭に置いていました(これは機能しませ):

@echo off

IF EXIST "C:\My Folder\*.txt" GOTO RENAMETXT
IF NOT EXIST "C:\My Folder\*.txt" GOTO RENAMEXML

:RENAMETXT
ren "C:\My Folder\*.txt" "*.xml"

:RENAMEXML
ren "C:\My Folder\*.xml" "*.txt"
4

1 に答える 1

2

:RENAMETXT提案されたバッチ スクリプトは、その部分が に落ちるため機能しません:RENAMEXMLEXIT /Bbeforeを挿入するだけで修正できます:RENAMEXML

ただし、GOTO や EXIT /B は必要ありません。単純に IF ... ELSE ... を使用できます。

@echo off
if exist "C:\My Folder\*.txt" (
  ren "C:\My Folder\*.txt" *.xml
) else (
  ren "C:\My Folder\*.xml" *.txt
)
于 2012-10-07T14:26:06.757 に答える