Quantcast
Channel: Ru.Board
Viewing all articles
Browse latest Browse all 1003802

Командная строка, батники, сценарии (bat, cmd) (5912) / И все с этим связанное... (4)

$
0
0
Alex_Piggy:
sergiokapone
Или я неправильно понял... Странная задача. Как определить момент ветвления?
1. Вариант - четко ветвится по первой папке в пути
for /f "delims=\" %%i in ("%~p1") do for /f "delims=" %%j in ('dir /ad /b /s "%~d1\%%i\target"') do set "result_path=%%j"
2. Вариант - цикл - поднимается на шаг вверх и пересканирует, пока не перейдет в корень диска или пока не найдет папку.

Код:

@echo off
set "work_folder=%CD%"
cd /d "%~dp1"
:loop
for /f "delims=" %%i in ('dir /ad /s /b "target" 2^>nul') do set "result_path=%%i"
if not defined result_path if not "%cd%"=="%~d1\" (cd .. && goto :loop)
cd "%work_folder%"
echo "%result_path%"



Добавлено:
TemaZosin
1. Вам видно, а я вот не вижу... Серьезно, на скриншоте не видно, какие файлы были удалены.
2. Если действительно удаляет, попробуйте Find /i "explorer.exe". "/i" - ignorecase
3. Все-таки лучше не через echo | find "" , а через for ('dir /b ^| find ""'). На паре тысяч файлов Вы поймете разницу...

Viewing all articles
Browse latest Browse all 1003802

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>