많은 파일을 두 개의 개별 파일로 연결하려고합니다.배치 - 역/음수 FOR 루프?
첫 번째 파일은 파일 이름에 "bob"이있는 다른 모든 파일의 연결입니다. 두 번째 파일은 파일 이름에 "bob"없이 모든 파일을 연결합니다. 두 파일은 실제로 연결을 수행하기 전에 파일의 이름을 출력합니다.
는 여기에 지금까지이 작업은 다음과 같습니다
이 @echo off
setlocal EnableDelayedExpansion
set bob=All_bob.txt
set jimmy=All_jimmy.txt
if exist %bob% del %bob%
if exist %jimmy% del %jimmy%
for %%a in (*bob*.txt) do (
echo /* >>%bob%
echo * %%a >>%bob%
echo */ >>%bob%
copy/b %bob%+"%%a" %bob%
echo. >>%bob%
echo. >>%bob%)
for %%a not in (*bob*.txt) do (
echo /* >>%jimmy%
echo * %%a >>%jimmy%
echo */ >>%jimmy%
copy/b %jimmy%+"%%a" %jimmy%
echo. >>%jimmy%
echo. >>%jimmy%)
그러나 (맨 아래) 루프에 대한 두 번째 사용 좋은 "하지"재생하려면,이 같은 느낌표를 사용하지 않습니다 ..
for %%a !(*bob*.txt) do (
... 역시 작동하지 않습니다. 그렇다면 괄호 안에있는 내용을 포함하지 않는 파일을 어떻게 연결합니까?
이 예제에서는 문제가 없지만 검색 문자열이 foo * bar * baz.txt 또는 b? b.txt 인 경우 – Anders
@Anders는 OP 질문에 응답합니다. –