SET ZTMode=File
REM #ZTIfDir SET ZTMode=Dir
IF [%%ZTMode%%]==[File] GOTO DoFile2
IF [%%ZTMode%%]==[Dir] GOTO DoDir2
:DoFile2
SET N1=%4
SET N2=%N1:~0,7%
GOTO SSSS
:DoDir2
SET N1=%6
SET N2=%N1:~0,7%
GOTO SSSS
:SSSS
ECHO %N2%
working
----------------------------------
SET N1=%4& SET N2=%N1:~0,7%
ECHO %N2%
doesnt work
----------------------------------
SET "N1=%4"& SET "N2=%N1:~0,7%"
ECHO %N2%
doesnt work
---------------------------------
IF [%%ZTMode%%]==[File] SET N1=%4& SET N2=%N1:~0,7%
IF [%%ZTMode%%]==[Dir] SET N1=%6& SET N2=%N1:~0,7%
ECHO %N2%
doesnt work
IF [%%ZTMode%%]==[File] SET "N1=%4" & SET "N2=%N1:~0,7%"
IF [%%ZTMode%%]==[Dir] SET "N1=%6" & SET "N2=%N1:~0,7%"
ECHO %N2%
doesnt work
--------------------------------
IF [%%ZTMode%%]==[File] SET N1=%4& SET N2=%N1:~0,7%& GOTO DoFile2
IF [%%ZTMode%%]==[Dir] SET N1=%6& SET N2=%N1:~0,7%& GOTO DoDir2
ECHO %N2%
doesnt work
--------------------------------
>> a trailing space at the end
I will keep extra attention next time.