Спасибо! Именно оно!
» Задачи на bat-файлах 9
wolf0425, спасибо все заработало, после шаманских деяний
Поиском не могу найти такую вещь. Как переименовать все файлы *.xxx в *.yyy во всех вложенных папках. Имя чтобы осталось неизменным. Заранее спасибо.
ren *.xxx *.yyy
Цитата:
ren *.xxx *.yyy
если бы все так просто было, я б сюда не писал
во вложенных папках так не берет
тогда делай через FOR.
for /f "tokens=*" %%a in ('dir /b /s *.zzz') do ren %%a *.ttt
пишет ошибка в синтаксисе
в чем ошибка моя?
пишет ошибка в синтаксисе
в чем ошибка моя?
Цитата:
ECHO OFF
COLOR 9F
CLS
FOR /R "%~DP0" %%I IN (*.*) DO (
if %%~xI==.yyy REN "%%I" "%%~nI.xxx"
)
pause
bomzzz
ошибка в синтаксисе пишет
в моей строке проблему нашел
при наличии пробелов в пути - ошибка
если пробелов нет, то работает
Update: Все работает, спасибо тебе огромное! Просто скопировал неправильно со страницы.
Update2:
king_stiven
Цитата:
И твой вариант прекрасно работает, спасибо
ошибка в синтаксисе пишет
в моей строке проблему нашел
при наличии пробелов в пути - ошибка
если пробелов нет, то работает
Update: Все работает, спасибо тебе огромное! Просто скопировал неправильно со страницы.
Update2:
king_stiven
Цитата:
FOR /R %%I IN (*.xxx) DO REN "%%I" "%%~nI.yyy"
И твой вариант прекрасно работает, спасибо
*.ttt - ошибка тута
Добавлено:
ну кавычки еще нуны. у себя я исправил. вроде работает
Добавлено:
"%%I" "%%~nI.xxx" так же сделкай, только у тебя /b это имена без путей
Добавлено:
ну кавычки еще нуны. у себя я исправил. вроде работает
Добавлено:
"%%I" "%%~nI.xxx" так же сделкай, только у тебя /b это имена без путей
manstopper
Код: FOR /R %%I IN (*.xxx) DO REN "%%I" "%%~nI.yyy"
Код: FOR /R %%I IN (*.xxx) DO REN "%%I" "%%~nI.yyy"
Цикл
For /R %%i In (%Ext%) Do (
)
Просматривает все файлы в глубину.
Но немного не пойму как из %%i (там имя файла) вытащить путь.
Нашел про %~p, но если я правильно понимаю, то это не работает для такой переменной.
Подскажите, как лучше сделать.
For /R %%i In (%Ext%) Do (
)
Просматривает все файлы в глубину.
Но немного не пойму как из %%i (там имя файла) вытащить путь.
Нашел про %~p, но если я правильно понимаю, то это не работает для такой переменной.
Подскажите, как лучше сделать.
Цитата:
Но немного не пойму как из %%i (там имя файла) вытащить путь.
for /r %%i in ( *.txt ) do echo path=%%~dpi file=%%~nxi
Не подскажете, как с помощью sed преобразовать строчки вида
1/первый, второй/
2/третий, четвертый, пятый/
к виду
первый 1
второй 1
третий 2
четвертый 2
пятый 2
1/первый, второй/
2/третий, четвертый, пятый/
к виду
первый 1
второй 1
третий 2
четвертый 2
пятый 2
BagaBaga
придумать как зацикливать мне пока лень, для макс=трех параметров в строке проще тупо влоб:
Код: sed -r "s#([0-9])/([^ ]*), ([^/]*)/#\2 \1\n\1/\3/#gi;s#([0-9])/([^ ]*), ([^/]*)/#\2 \1\n\1/\3/#gi;s#([0-9])/([^/]*)/#\2 \1#gi" <1.txt
придумать как зацикливать мне пока лень, для макс=трех параметров в строке проще тупо влоб:
Код: sed -r "s#([0-9])/([^ ]*), ([^/]*)/#\2 \1\n\1/\3/#gi;s#([0-9])/([^ ]*), ([^/]*)/#\2 \1\n\1/\3/#gi;s#([0-9])/([^/]*)/#\2 \1#gi" <1.txt
Ок. Спасибо!
Еще один вопрос: в коде понадобилось кое-что модифицировать - перед всеми скобками добавить содержимое переменной %%g
Попробовал заменить echo. на echo %%g. , но не помогло. В %%g хранится имя папки, например, "Параметры:"
Еще один вопрос: в коде понадобилось кое-что модифицировать - перед всеми скобками добавить содержимое переменной %%g
Попробовал заменить echo. на echo %%g. , но не помогло. В %%g хранится имя папки, например, "Параметры:"
Цитата:
но не помогло. В %%g хранится имя папки, например, "Параметры:"ты уверен что у тебя переменная %%g а не %g% ??
приведи код который у тебя не работает.
Переменная с двумя %, т.к. запускается из батника...
Код:
for /D %%g in (a??) do (
for %%a in (.\%%g\auth.1,.\%%g\title.1) do for /f "usebackq delims=" %%i in ("%%~a") do 0>nul set /p="[%%i]"
echo[%%g].
)
Код:
for /D %%g in (a??) do (
for %%a in (.\%%g\auth.1,.\%%g\title.1) do for /f "usebackq delims=" %%i in ("%%~a") do 0>nul set /p="[%%i]"
echo[%%g].
)
Ребят, подскажите.
Есть необходимость перерасшаривать папку, из-за того, что по всему видимому нарушается по каким-то причинам наследования того самого расшаривания - из-за чего, смотря в папку из другой машины, некоторые подкаталоги оказываются пустыми...
Решается это дело следующим образом:
1. отменить расшаривание папки, к примеру d:\folder\
2. запуск команды icacls d:\folder\ /reset /T /C - которая и решает проблему наследования очищая атрибуты
3. заново расшарить каталог d:\folder\ с добавлением к нему соавтора Гость
Побегав по хелпу, как-то не понял момент с расшариванием через cmd, ткните носом пожалуйста, заранее спасибо
Есть необходимость перерасшаривать папку, из-за того, что по всему видимому нарушается по каким-то причинам наследования того самого расшаривания - из-за чего, смотря в папку из другой машины, некоторые подкаталоги оказываются пустыми...
Решается это дело следующим образом:
1. отменить расшаривание папки, к примеру d:\folder\
2. запуск команды icacls d:\folder\ /reset /T /C - которая и решает проблему наследования очищая атрибуты
3. заново расшарить каталог d:\folder\ с добавлением к нему соавтора Гость
Побегав по хелпу, как-то не понял момент с расшариванием через cmd, ткните носом пожалуйста, заранее спасибо
BagaBaga
Цитата:
а хотел написать вот это:
Код: @echo off
for /D %%g in (a??) do (
0>nul set /p="[%%g]"
for %%a in (.\%%g\auth.1,.\%%g\title.1) do for /f "usebackq delims=" %%i in ("%%~a") do 0>nul set /p="[%%i]"
echo.
)
Цитата:
Собственно, была надежда, что [имя папки] появится до двух склееных строк, но в реальности - позже и без одной "["выводит ровно то, что написал.
а хотел написать вот это:
Код: @echo off
for /D %%g in (a??) do (
0>nul set /p="[%%g]"
for %%a in (.\%%g\auth.1,.\%%g\title.1) do for /f "usebackq delims=" %%i in ("%%~a") do 0>nul set /p="[%%i]"
echo.
)
Задача, наверное, пустячная для знатока: нужен скрипт, который пересохраняет все текстовые файлы в указанном каталоге (или в каталоге где находится) в кодировке 866 (файлы имеют расширение lst, хотя это, пожалуй, неважно?).
оперативненько, спасибо.
Добавлено:
bomzzz, нет, не годится - там только txt-файлы обрабатывает
Добавлено:
bomzzz, нет, не годится - там только txt-файлы обрабатывает
переименуй батником сначала туда потом обратно
и батник, и GUI использовать - зачем так сложно?
вроде конвертирует, пробуй
ECHO OFF
COLOR 9F
CLS
type *.lst>*.txt
del *.lst
ren *.txt *.lst
pause
ECHO OFF
COLOR 9F
CLS
type *.lst>*.txt
del *.lst
ren *.txt *.lst
pause
bomzzz, не знаю, что и куда конвертирует, но все файлы в папке исчезли и сообщение: "Синтаксическая ошибка в имени файла..."
type *.lst>*-1.lst
так сделкай
так сделкай
bomzzz
Что это вдруг type должна что-то перекодировать?
lid111
Воспользуйся любым перекодировщиком командной строки, их полно в инете, например тут
Что это вдруг type должна что-то перекодировать?
lid111
Воспользуйся любым перекодировщиком командной строки, их полно в инете, например тут
сам не знаю
Добавлено:
а понил - потому что исходный в юникоде.
Добавлено:
а понил - потому что исходный в юникоде.
Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
Предыдущая тема: Windows 7 Starter
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.