2010-07-13 5 views
0

드라이브 매핑을 텍스트 파일에 출력하는 섹션이있는 일괄 스크립트를 작성하려고합니다. 그러면 컴퓨터를 완전히 제거한 후에 복원 할 수 있습니다. 이 일을하기 위해 루프를 생각해 냈지만 배치 스크립트가 명령 자체를 실행하는 것과는 달리 다르게 작동합니다.동일 FOR 루프가 다르게 작동합니다 (WinXP)

이 코드의 실제 라인은 다음과 같습니다

FOR /F "tokens=1,2" %i in (H:\mappings2.dat) do @echo %i %j 

내가 복사하고 잘 작동 명령 창에 스크립트에서 명령을 붙여 넣을 때. 내가 명령 창에서 배치 스크립트를 실행하면이 출력 :에, 오

...

FOR /F "tokens=1,2" \mappings2.dat) do @echo j 
\mappings2.dat) was unexpected at this time. 

임은 문제를 해결하는 몇 가지 약간의 트릭이 추측,하지만 난이 구글에서 아무것도 찾을 수 없습니다 경우 여기 궁금 스크립트의 섹션 :

net use > H:\mappings0.dat 

findstr /r [A-Z]: H:\mappings0.dat > H:\mappings2.dat 

FOR /F "tokens=1,2" %i in (H:\mappings2.dat) do @echo %i %j >> H:\mappings1.dat 

답변

2

신경 끄시 고, 내가 루프 변수 ... 그것을 알아 냈다 명령 줄 버전은 루프 변수에 대한 단일 백분율 기호를 사용하는 동안, 이중 백분율 기호를해야합니다. .. for 루프의 각 변수에 또 다른 %를 추가했는데 이제는 완벽하게 작동합니다.

관련 문제