alex_diablo
Постоянный участник
- Сообщения
 - 144
 
- Реакции
 - 9
 
добрый день. есть следующий код (часть скрипта):
что делает: файл file.bat запускается через пробел с параметром. в качестве параметра - номер версии искомого файла (например file.bat 2017.4.2f2)
первый цикл отрабатывается нормально, находится искомый каталог и нужный файл.
далее, в уже найденном каталоге ищутся другие файлы (по соответствующей маске поиска и создаются переменные для них)
проблема в том, что во втором цикле по непонятной мне причине, появляется лишний пробел (на скриншоте видно)
Помогите пожалуйста понять, что я делаю не так?
	
	
	
		
		
		
	
	
в результате чего искомый файл не находится и путь до него не записывается в переменную, т.е. ошибка - файл не найден.
	
		
			
		
		
	
				
			что делает: файл file.bat запускается через пробел с параметром. в качестве параметра - номер версии искомого файла (например file.bat 2017.4.2f2)
первый цикл отрабатывается нормально, находится искомый каталог и нужный файл.
далее, в уже найденном каталоге ищутся другие файлы (по соответствующей маске поиска и создаются переменные для них)
проблема в том, что во втором цикле по непонятной мне причине, появляется лишний пробел (на скриншоте видно)
Помогите пожалуйста понять, что я делаю не так?
		Bash:
	
	
	@ECHO OFF
SetLocal EnableExtensions
set "folder=\\fs\Soft\Developers_Tools\Unity"
if "%1" EQU "" goto error
set version=%1
goto search
:search
For /f "delims=" %%a in ('dir /b /s /a-d "%folder%\unitysetup*.exe" ^| find "%version%" ^| find /i /v "UnitySetup-Android" ^| find /i /v "UnitySetup-iOS" ^| find /i /v "UnitySetup-Mac" ^| find /i /v "UnitySetup-Windows" ^| find /i /v "UnityDocumentationSetup" ^| find /i /v "UnitySetup-AppleTV" ^| find /i /v "UnitySetup-Facebook" ^| find /i /v "UnitySetup-Linux" ^| find /i /v "UnitySetup-UWP" ^| find /i /v "UnitySetup-Vuforia" ^| find /i /v "MonoDevelop" ^| find /i /v "UnitySetup-WebGL"') do (
  set fileurl=%%~fa
  set folderurl=%%~dpa
 )
 
 echo %fileurl%
echo %folderurl%
pause
 
For /f "delims=" %%a in ('dir /b /s /a-d "%folderurl%\unity*.exe" ^| find /i "Android-Support"') do set android=%%~fa
For /f "delims=" %%a in ('dir /b /s /a-d "%folderurl%\unity*.exe" ^| find /i "iOS-Support"') do set ios=%%~fa
For /f "delims=" %%a in ('dir /b /s /a-d "%folderurl%\unity*.exe" ^| find /i "Windows-Support"') do set wind=%%~fa
pause
exit /b
	
проблема в том, что во втором цикле по непонятной мне причине, появляется лишний пробел (на скриншоте видно)
в результате чего искомый файл не находится и путь до него не записывается в переменную, т.е. ошибка - файл не найден.
			
				Последнее редактирование модератором: