2
ファイル名に接頭辞を付けてディレクトリ内のファイルの名前を変更しようとしています。この場合、追加しようとしている接頭辞は1-
です。ファイルのリストの各ファイル名に接頭辞を追加しようとしています。プレフィックスがすでに追加されているファイルを確認するにはどうすればよいですか?
@echo off
@setlocal enableextensions enabledelayedexpansion
cd %folder%
for %%a in (*.txt) do (
set var tem=%%a
rem checking file name contains 1- as prefix
if not x%tem:1-=%==x%tem% (
echo file is renamed all ready
)else(
ren "%%a" "1-%%a"
)
)
予想される出力:名前が変更されたファイルは、再び
名前を変更すべきではないbashのではない、それはあなたのコードサンプルでWindows CMDスクリプトです。あなたの質問が何であるかを確認してください。 – Amadan
バッチスクリプトの代わりにPowerShellを使用した場合、 'gci * .txt |名前-notmatch '^ 1-' | ren -newname {"1 - " + $ _。Name} ' – TessellatingHeckler
遅延拡張を有効にしていますが、適用していません。 '%tem%'の代わりに '!tem!'を使う必要があります... – aschipfl