파일 이름이 ABC0 ... (길이가 고정되어 있지 않음)로 시작하면 파일을 복사하려고합니다. 그러나 아래 코드를 사용하면 파일 이름도 복사 할 수 있습니다 ABCUnit001은 ABCU로 시작합니다.배치 파일 어떻게 파일 이름을 특정 문자로 시작합니까?
setlocal enabledelayedexpansion
for %%x in (*.txt) do (
set filename=%%~nx
if not "!filename=:~0,4!"=="ABC0" (
copy "%%x" "destination path"
move "%%x" "Destination path"
)
)
아무도 도와 줄 수 있습니까? 감사 및 감사
'copy abc0 * '데스티 네이션 경로 "의 잘못된 점은 무엇입니까?" – Magoo
Hi Magoo, 파일 이름이 abc0으로 시작하는 파일을 대상 경로로 복사하는 경우 오류가 없습니다. 하지만 내 문제는 내 파일 이름조차도 ABCU와 ABCUnit001 의미 시작입니다. 대상 경로에도 복사됩니다. –
기본적으로 모든 파일에는 사용중인 "긴 이름"과 이전의 DOS 명명 시스템과 호환되도록 "짧은 이름"의 두 가지 이름이 있습니다. 'dir/X * .txt'를 사용하면 두 가지 모두를 볼 수 있습니다. 현재 문제로,'! var!'구조체를 사용하려면'for' 명령 앞에'setlocal enabledelayedexpansion'을 삽입해야합니다. – Magoo