아래의 for 루프에 설정 한 변수 myVar로 파일의 이름을 바꾸려고합니다. 문제는 이름 바꾸기가 작동하지 않는다는 것입니다. 아무도 왜 저에게 말할 수 있습니까? 귀하의 코드가 작동변수가있는 일괄 이름 바꾸기 파일
For /F %%A in ('"type tmpFile2.txt"') do set myVar=%%A
ren file1.txt file2%myVar%.txt
아래의 for 루프에 설정 한 변수 myVar로 파일의 이름을 바꾸려고합니다. 문제는 이름 바꾸기가 작동하지 않는다는 것입니다. 아무도 왜 저에게 말할 수 있습니까? 귀하의 코드가 작동변수가있는 일괄 이름 바꾸기 파일
For /F %%A in ('"type tmpFile2.txt"') do set myVar=%%A
ren file1.txt file2%myVar%.txt
, 어쩌면 문제는 tmpfile2.txt 내용 (토큰)로
아니면 변수 값에 공백이 있고 작동하지 않는 이유를 먹으 렴입니다
tmpfile2의 내용이 없으면 왜 작동하지 않는지 알 수 없습니다.
는 happenning 상황을 확인하기 위해이 방법을 시도해보십시오For /F "delims= usebackq" %%# in ("tmpFile2.txt") do (Echo "myVar=%%#" & set "myVar=%%#")
Echo Rename "file1.txt" "file2%myVar%.txt"
Rename "file1.txt" "file2%myVar%.txt"
아니면이 :
For /F "delims= usebackq" %%# in ("tmpFile2.txt") do (Rename "file1.txt" "file2%%#.txt")
안녕하세요이 코드를 시도하십시오.
for /F "tokens=*" %%i in (myfile.txt) do (
set %filename% = %%i
ren file1.txt file2%filename%.txt
)
난 당신의 코드가 를 배치 내기 수있는 내부 이와 같은 괄호 :이 경우
if some == comparison (
For /F %%A in ('"type tmpFile2.txt"') do set myVar=%%A
ren file1.txt file2%myVar%.txt
)
을, 당신은의 값을 얻기 위해 지연된 확장을 사용할 필요가 이었다 변수 블록 내부 수정 : 자세한 내용
setlocal EnableDelayedExpansion
if some == comparison (
For /F %%A in ('"type tmpFile2.txt"') do set myVar=%%A
ren file1.txt file2!myVar!.txt
)
이 다른 검색 "지연된 확장"사이트.
코드를 시험해보고 일부 테스트 코드를 대신 사용하십시오. – foxidrive