1
我無法圍繞DOS批處理文件的變量替換機制,尤其是在for循環中。批處理文件,循環中的變量擴展和子字符串
簡化批次問題:想象以下目錄
01foo.txt
02foo.dir(這是一個目錄)
bar01(這是一個目錄)
bar02(這是一個目錄)
我想將這個目錄下所有不以'bar'開頭的文件/目錄移動到bar + _the_first_2_characters_of_the_filename_or_directory_name的子目錄中。
在這種情況下,01foo.txt將被移入bar01,02foo.dir將被移入bar02。
下面的腳本是我第一次嘗試:
setlocal EnableDelayedExpansion
for %%A in (*) do (
set _x=%%A
if (!_x:~0,2! NEQ "bar") move %%A bar!_x:~0,2!
)
endlocal
從事實
分開,這似乎僅環的文件,它根本不能工作:-)。 我在if語句中出現錯誤,說「3!此時意外」
有關如何改善情況/腳本的任何想法?
感謝