^
. Если после него будет идти пустая строка, то в команду будет вставлен перевод строки.echo ^
Hello,^
world!
Hello, world!
setlocal enabledelayedexpansion
set A=^
Hello,^
world!
echo !A!
^
специальные символы (его самого, символы перенаправления, соединения команд, закрывающую скобку (внутри составных команд), желательно, кавычку…), дважды экранировать восклицательные знаки при отложенном раскрытии переменных, если текст между ними может быть воспринят как имя переменной… В общем, упражняйтесь.:: Определяет переменную ВОЗВРАТ КАРЕТКИ (используется как !CR!)
for /f %%a in ('copy /Z "%~dpf0" nul') do set "CR=%%a"
:: Определяет переменную ПЕРЕВОД СТРОКИ (используется как !LF!)
set LF=^
:: Две пустые строки сверху важны - не удалять!
RemoveAt
(для удаления с конца при этом, вероятно, ещё потребуется использовать метод Length
).chcp 65001
Echo !St!>>"%NewFileName%"
в любом случае вставляет перевод после выводимой строки. Чтобы этого не происходило, можно вместо echo
использовать set /p
с вводом из пустого устройства (forum.script-coding.com/viewtopic.php?id=2945):set /p =!St!<nul >>"%NewFileName%"
for /f "usebackq" %%a in (`echo %%h %%i
`
(но, например, ниже чем у неэкранированного знака "
).|
стал частью команды, а не её ограничителем, его необходимо экранировать знаком ^
. set "randomFile=!pyti_k_15_perebivkam[!randomIndex!]!"
call set "randomFile=!pyti_k_15_perebivkam[%%randomIndex%%]!"
call
для отложенного раскрытия переменных, при котором могут быть свои трудности. (
set /p "s1="
set /p "s2="
set /p "s3="
) <input.txt
more
:more +3 input.txt >>output.txt
more +3 <input.txt >>output.txt
(
set /p "s1="
set /p "s2="
set /p "s3="
echo !s3!
echo !s2!
echo !s1!
more
) <input.txt >output.txt
del input.txt
ren output.txt input.txt
more
find /v ""
Условный
for /f "Tokens=*" %f in ('dir /l/b/a-d') do (rename "%f" "%f")
поэтому не срабатывает.
Вручную приходится делать Abc.jpg -> 1Abc.jpg -> abc.jpg
(ren "%f" "to_lower_%f" && ren "to_lower_%f" "%f")
for %g in ("%~nxf") do if not "%f"==%g
:for /f "delims=" %f in ('dir /l/b/a-d') do for %g in ("%~nxf") do if not "%f"==%g (ren "%f" "to_lower_%f" && ren "to_lower_%f" "%f")
for /f "delims=" %%f in ('dir /l/b/a-d') do for %%g in ("%%f*") do (
if /i "%%f"=="%%g" if not "%%f"=="%%g" (
ren "%%f" "to_lower_%%f" && ren "to_lower_%%f" "%%f"
)
)
RD %cd% не удаляет? — Должно же быть какое-то сообщение об ошибке, которое нужно привести в вопросе.
for %%D in (.) do (cd ..& rd "%%~fD")
CD
не определена, используйте одноимённую псевдопеременную:cd ..& rd "%CD%"
RD
скорее всего потребует дополнительные ключи (/S
и /Q
).RewriteCond
) нужно, если изменилось только доменное имя, но сайт остался на том же месте и просто стал обслуживать запросы по ещё одному доменному имени, иначе получится порочный круг перенаправлений (на себя будут перенаправлены и запросы к новому имени). Если для старого имени выделить отдельный хост, то перенаправление надо будет настроить только на нём и его можно будет сделать уже безусловным (и будет проще сделать при помощи Redirect
, а не RewriteRule
). tasklist /fi "IMAGENAME eq vlc.exe" | find /c /i "vlc.exe">file.tmp
set /p "VAR="<file.tmp
del file.tmp
/f
вывод команды:for /f %%V in ('tasklist /fi "IMAGENAME eq vlc.exe" ^| find /c /i "vlc.exe"') do set "VAR=%%V"
cmd.exe
.)