Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature currently requires accessing the site using the built-in Safari browser.
dir с:\unattend.xml /s /b> "%~dp0dir.txt"
dir c:\services.xml /s /b> "%~dp0dir.txt"
Дозапись это знак >>чтобы результат записывался в одном файле- dir.txt и при этом не затирал предыдущие логи.
другой батник построчно считывает пути найденных файлов и открывает их.
@echo off
SetLocal EnableExtensions
for /F "UsebackQ delims=" %%a in ("%~dp0dir.txt") do notepad "%%~a"
dir с:\unattend.xml c:\services.xml /s /b> "%~dp0dir.txt"
dir с:\unattend.xml c:\services.xml c:\scheduledTasks.xml c:\printers.xml c:\drives.xml c:\datasources.xml /s /b> "%~dp0dir.txt"
SetLocal EnableExtensions
for /F "UsebackQ delims=" %%a in ("%~dp0dir.txt") do if "%%~za"!="0" iexplorer "%%~a"
Справка:не смог найти в что-то.
if /?
@echo off
SetLocal EnableExtensions
cd /d "%~dp0"
dir с:\unattend.xml c:\services.xml c:\scheduledTasks.xml c:\printers.xml c:\drives.xml c:\datasources.xml /s /b> "dir.txt"
for /F "UsebackQ delims=" %%a in ("dir.txt") do if "%%~za" neq "0" notepad "dir.txt"
:m78
SetLocal EnableExtensions
cd /d "%~dp0"
dir c:\unattend.xml c:\services.xml c:\scheduledTasks.xml c:\printers.xml c:\drives.xml c:\datasources.xml /s /b /a> "dir.txt"
for /F "UsebackQ delims=" %%a in ("dir.txt") do if "%%~za" neq "0" (goto q1) else goto q2
:q1
iexplorer "%%~a"
goto m12
:q2
echo Файл данных не найден
goto m12
:m12
................
@echo off
SetLocal EnableExtensions
:m78
cd /d "%~dp0"
dir c:\unattend.xml c:\services.xml c:\scheduledTasks.xml c:\printers.xml c:\drives.xml c:\datasources.xml /s /b /a> "dir.txt"
for /F "UsebackQ delims=" %%a in ("dir.txt") do if "%%~za" neq "0" (call :q1 "%%~a") else call :q2
goto :eof
:q1
"%ProgramFiles%\Internet Explorer\iexplore.exe" "%~1"
exit /B
:q2
echo Файл данных не найден
Exit /B
cd /d "%~dp0"
Ну да, зато я пишу так ...> "%~dp0xml.txt". Все я понял, я в цикле как раз не прописал %~dp0. Недоглядел, спасибо.cd /d "%~dp0"
Это я объяснил по поводу начального поста:Pause я вообще не писал нигде.
если же запустить сам батник напрямую, то программа просто вылетает, pause не помогает.
for /f "UsebackQ delims=" %%a in (` autorunsc.exe -a ^|findstr /n /R "File\not\found"`) do (
cd ..
cd "utilite"
copy /y> nul "%result1%"
copy /y nul "%result1%"
copy /y>nul nul "result1%"
Изменится.Поменяется ведь только то, что в первом случае в командной строке не будет отображена надпись об успешном копировании?
Скопировано файлов: 1.
Или смысл изменится?
copy /y nul "result1%" >nul
>nul copy /y nul "result1%"
copy /y>nul nul "result1%"
То есть утилита лежит например в bat\utilite, а сам батник например в bat\bat.
cd /d "%~dp0"
for /f "delims=" %%a in ('..\utilite\autorunsc.exe -a ^|findstr /INC:"File not found"') do (
Я же попросил без cd /d "%~dp0". У меня просто какая задача стоит: я запускаю батник bat1.bat из одного места например bat\n1 потом внутри него переходу как раз таки командой cd в другую папку(bat\Files) для перекодировки\записи вывода результата команды в файл, но при этом команда, это сторонняя утилита и лежит она в папке (bat\n2). Поэтому переходить в эту папку не надо, так как иначе файл не запишется куда надо. Нужно просто указать место, откуда будет выполняться эта утилита.cd /d "%~dp0"
for /f "delims=" %%a in ('..\utilite\autorunsc.exe -a ^|findstr /INC:"File not found"') do (
cd /d "%~dp0"
cd ..\Files
SetLocal EnableExtensions EnableDelayedExpansion
set result2=autoplay1.txt
chcp 1251> nul
set q1=Ничего не найдено
chcp 866> nul
copy /y> nul nul "%result2%"
set CpReady=
for /f "UsebackQ delims=" %%a in (`autorunsc.exe -a ^|findstr /n /R "File\not\found"`) do (
if not defined cpReady (chcp 1251 >nul& set CpReady=True)
call :convert "%%a"
)
goto :eof
:convert
::>>"%result2%" cmd /c echo.%~1
chcp 866> nul
for /f %%a in ("%result2%") do if "%%~za"=="0" (goto :mnb1 ) else goto :mnbbvv1
:mnb1
echo %q1%
del autoplay1.txt
:mnbbvv1
autorunsc.exe -a ^|findstr /n /R "File\not\found"
del autoplay1.txt
Вы такого не просили. Цитирую Вас:Я же попросил без cd /d "%~dp0"
Без него все гораздо усложняется.Victoreva написал(а):то есть без предварительного
CMD/BATCH:cd .. cd "utilite"
без перехода в каталог батника у Вас есть 2 варианта:при запуске с повышенными привилегиями происходит переход в системный каталог.
Вы это не сможете сделать, если будете запускать батник ПКМ "От имени администратора"потом внутри него переходу как раз таки командой cd в другую папку(bat\Files)
Ну вот как раз проблема в том, что путь то относительный. Как правильно указать его?1) указывать полный путь к утилите
2) Добавить полный путь к утилите в переменную Path.
for /f "UsebackQ delims=" %%a in (`"..\n2\autorunsc.exe" -a ^|findstr /n /R "File\not\found"`)