defor6
26-03-2012, 00:38
Вечер добрый. Ситуация у меня повторяется довольно часто, сам решения найти не могу.
Суть скрипта:
1) Определяем букву диска, на котором находится определенная папка (в реальности определяется буква флешки) и заносим это значение в переменную FLASH
2) Если путь не найден - гневная мессага и последующий выход из скрипта :)
3) Если путь найден - выводим сообщением букву флешки. А вот далее эту букву хотелось бы передать в определенный файл. Собственно, не работает кусок кода:
echo %FLASH% > %FLASH%\C#\tmp.txt
Пишет "Отказано в доступе". Ощущение, что не может обработать переменную, ибо если путь задавать, скажем, G:\C#\tmp.txt, то все проходит отлично. Но в то же время, эта же переменная на 1 строку выше по коду отлично обрабатывается и выводится верно.
Вот полный кусок кода. Заранее спасибо за любую помощь.
@echo off
echo Ищем исходники на флешке
echo Критерий: наличие \C#\STDU FLASH\ на диске (D:-J:)
echo.
if exist "D:\C#\STDU FLASH\" set FLASH=D: && goto 2
if exist "E:\C#\STDU FLASH\" set FLASH=E: && goto 2
if exist "F:\C#\STDU FLASH\" set FLASH=F: && goto 2
if exist "G:\C#\STDU FLASH\" set FLASH=G: && goto 2
if exist "H:\C#\STDU FLASH\" set FLASH=H: && goto 2
if exist "I:\C#\STDU FLASH\" set FLASH=I: && goto 2
if exist "J:\C#\STDU FLASH\" set FLASH=J: && goto 2
echo На флешке исходных данных НЕ НАЙДЕНО! Выходим!
pause
exit
:2
echo Папка c исходниками найдена на флешке. Диск - %FLASH%
echo %FLASH% > %FLASH%\C#\tmp.txt
pause
Суть скрипта:
1) Определяем букву диска, на котором находится определенная папка (в реальности определяется буква флешки) и заносим это значение в переменную FLASH
2) Если путь не найден - гневная мессага и последующий выход из скрипта :)
3) Если путь найден - выводим сообщением букву флешки. А вот далее эту букву хотелось бы передать в определенный файл. Собственно, не работает кусок кода:
echo %FLASH% > %FLASH%\C#\tmp.txt
Пишет "Отказано в доступе". Ощущение, что не может обработать переменную, ибо если путь задавать, скажем, G:\C#\tmp.txt, то все проходит отлично. Но в то же время, эта же переменная на 1 строку выше по коду отлично обрабатывается и выводится верно.
Вот полный кусок кода. Заранее спасибо за любую помощь.
@echo off
echo Ищем исходники на флешке
echo Критерий: наличие \C#\STDU FLASH\ на диске (D:-J:)
echo.
if exist "D:\C#\STDU FLASH\" set FLASH=D: && goto 2
if exist "E:\C#\STDU FLASH\" set FLASH=E: && goto 2
if exist "F:\C#\STDU FLASH\" set FLASH=F: && goto 2
if exist "G:\C#\STDU FLASH\" set FLASH=G: && goto 2
if exist "H:\C#\STDU FLASH\" set FLASH=H: && goto 2
if exist "I:\C#\STDU FLASH\" set FLASH=I: && goto 2
if exist "J:\C#\STDU FLASH\" set FLASH=J: && goto 2
echo На флешке исходных данных НЕ НАЙДЕНО! Выходим!
pause
exit
:2
echo Папка c исходниками найдена на флешке. Диск - %FLASH%
echo %FLASH% > %FLASH%\C#\tmp.txt
pause