Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] запись текста с переменными в файл (http://forum.oszone.net/showthread.php?t=323639)

magarjoba 08-02-2017 17:54 2710059

запись текста с переменными в файл
 
Всем привет
столкнулся проблемой, для кого-то может и нет
но смысл такой

Вот часть кода
Скрытый текст

Код:

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 2710217

Код:

@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 2710237

Цитата:

Цитата magarjoba
он значения %HOMEDRIVE%%HOMEPATH% а также все с таким знаком не передает в файл cwrsync.cmd в котором я меняю этот текст
Подскажите , мне нужно именно эти значения записать в тот файл , как их правильно передать средствами ".bat" ?? »

Удваивайте символы %:
Код:


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

и т.д.

magarjoba 09-02-2017 10:29 2710285

Ооооооо, спасибо выручили , я сильно не заморачивался и последний вариант , прост и работает


Время: 14:01.

Время: 14:01.
© OSzone.net 2001-