Войти

Показать полную графическую версию : [решено] запись текста с переменными в файл


magarjoba
08-02-2017, 17:54
Всем привет
столкнулся проблемой, для кого-то может и нет
но смысл такой

Вот часть кода

REM ---------------Изменяем запись cwrsync
@Echo Off
Set cwrfile=c:\Progra~1\cwRsync\cwrsync.cmd
(Echo @ECHO OFF
Echo SETLOCAL
Echo SET "CWRSYNCHOME=C:\PROGRAM FILES\cwRsync"
Echo SET CYGWIN=nontsec
Echo SET CWOLDPATH=%PATH%
Echo SET HOME=%HOMEDRIVE%%HOMEPATH%
Echo SET PATH=%CWRSYNCHOME%\BIN;%PATH%
Echo taskkill.exe /f /im rsync.exe
Echo del /q "C:\PROGRAM FILES\cwRsync\"*.log
Echo rsync -Pav --log-file=MusicUpload.log --bwlimit=80000 --exclude="/TEMP/" --delete-after vasya.ua::music/ /cygdrive/m/music
)>"%cwrfile%"

Так вот

он значения %HOMEDRIVE%%HOMEPATH% а также все с таким знаком не передает в файл cwrsync.cmd в котором я меняю этот текст

Подскажите , мне нужно именно эти значения записать в тот файл , как их правильно передать средствами ".bat" ??

alpap
09-02-2017, 03:21
@echo off
set "cwrfile=C:\Progra~1\cwRsync\cwrsync.cmd"
<"%~f0">"%cwrfile%" (for /f "delims=[]" %%a in ('find /n "::(cwrsync.cmd)"^|more +1') do @for /f "delims=" %%b in ('more +%%a^|find /n /v ""') do @set "x=%%b"& cmd/v/c echo[!x:*]^^=!)
exit

::(cwrsync.cmd)
@ECHO OFF
SETLOCAL
SET "CWRSYNCHOME=C:\PROGRAM FILES\cwRsync"
SET "CYGWIN=nontsec"
SET "CWOLDPATH=%PATH%"
SET "HOME=%HOMEDRIVE%%HOMEPATH%"
SET "PATH=%CWRSYNCHOME%\BIN;%PATH%"
taskkill.exe /f /im "rsync.exe"
DEL /q "C:\PROGRAM FILES\cwRsync\*.log"
rsync -Pav --log-file=MusicUpload.log --bwlimit=80000 --exclude="/TEMP/" --delete-after vasya.ua::music/ /cygdrive/m/music
EXIT

Iska
09-02-2017, 07:42
он значения %HOMEDRIVE%%HOMEPATH% а также все с таким знаком не передает в файл cwrsync.cmd в котором я меняю этот текст
Подскажите , мне нужно именно эти значения записать в тот файл , как их правильно передать средствами ".bat" ?? »
Удваивайте символы %:

>>"%cwrfile%" Echo SET HOME=%%HOMEDRIVE%%%%HOMEPATH%%

и т.д.

magarjoba
09-02-2017, 10:29
Ооооооо, спасибо выручили , я сильно не заморачивался и последний вариант , прост и работает




© OSzone.net 2001-2012