我需要這樣做,使得文件與替換的字符重新命名爲幾千名的名單上替換字符出現的所有的文件名。目的是允許以下腳本運行在所有名稱上BAT文件與另一
問題是帶有「&」符號的名稱。
我使用這個腳本查找包含幾千名必須加以反對全面的文件找到剛纔在名單上的那些多個文件夾運行列表中的所有文件名。如果發現我可以將文件複製或移動到閃存驅動器上。
除了包含「&」的名稱外,該腳本完美地工作。不幸的是有不少。除了在搜索過程中找到逃避&的方法之外,我可以用任何獨特的單詞或字符替換它,足以運行搜索,並在找到文件後將其顛倒。
最初的劇本是這樣的:
set list=C:\ALIST.txt
pushd %source%
for /f "tokens=*" %%a in (%list%) do (echo.%%a && call :FindIt "%%~a")
goto :End
:FindIt
for /f "tokens=* usebackq" %%b in (`dir /b /s /a-d-s-h "%~1"`) do (call :DoIt "%%~dpb" "%~1")
goto :EOF
:DoIt
set str=%~1
set str=%str:~0,-1%
set file=%~2
rem NOTE: ADD /MOV at end of next line to move instead of COPY
robocopy "%str%" "%dest%" "%file%"
goto :EOF
:End
popd
這是寫的一個很好的朋友,我不採取信貸爲他的工作。 我到處尋找一種方法來做到這一點,他的腳本是天賜良機,讓我有95%的結局。它唯一的問題是讓它接受帶有「&」符號的名稱,或者找到一種方法暫時替換「&」符號,以便運行該腳本。
任何意見或替代讚賞