Войти

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


Страниц : [1] 2

dark-------13
12-05-2011, 11:46
Здравствуйте, подскажите как заставить выполняться команду cd и start для запуска другого батника хотя бы через 1.lnk , после команды popd
@echo off
set $SRC=D:\в го
set $DST=D:\в_М

pushd "%$SRC%"
for /f "tokens=*" %%i in ('dir /b *.txt') do (
for /f "tokens=1" %%j in ("%%~ti") do if "%%j"=="%date%" (
copy "%%i" "%$DST%\"
cry "%$DST%\%%i"
))
popd
cd "D:\test"
start 1.lnk

amel27
12-05-2011, 12:36
dark-------13, попробуйте вместо команды CD использовать PUSHD, либо запускать CD с ключом /Dcd /d "D:\test"

dark-------13
12-05-2011, 13:25
Нет не работает почему-то именно с приведенным выше скриптом --- что же в нем такого особенного ..... ?

ferget
12-05-2011, 13:38
тогда может просто
"D:\Test\1.lnk"

dark-------13
12-05-2011, 14:11
Не не работает наверное проблема в проге кот-я выполняет шифрование в консоли. Может от этого и не работают команды идущие после.

ferget
12-05-2011, 14:14
а если паузу вставить пока шифрование выполняется

dark-------13
12-05-2011, 14:43
Нет, все равно не выполняется

Foreigner
12-05-2011, 17:13
dark-------13,
А d:\test существует?
У меня только одно предположение -- указаны не правильные пути
Попробуйте:

start "" "d:\test\1.lnk"

dark-------13
12-05-2011, 18:12
d:\test существует другие батники работают как положено, этот не хочет после шифрования выполнять последующие команды - вообще ни какие ... шифрование делается сторонней программой от фирмы лан крипто , вот мне кажется это все из за нее хотя на 100 процентов не уверен т.к. в батниках не шарю.

ferget
12-05-2011, 18:31
ОС у вас какая?

dark-------13
12-05-2011, 18:33
XP pro corp sp2 32 битная

ferget
12-05-2011, 18:48
в предыдущей теме:
В третью очередь выполняем отправку файлов по почте

может для этого использовать планировщик заданий

dark-------13
12-05-2011, 18:50
Если по другому ни как, то его и буду использовать.

Foreigner
12-05-2011, 19:08
dark-------13,
Тогда попробуйте запускать cry с помощью start:

start /b /w cry "" "%$DST%\%%i"

Или вообще:

start /b /w "" cmd /c cry "%$DST%\%%i"

Этот cry он консольный?

dark-------13
12-05-2011, 22:09
да cry - консольная команда для программы шифрования, попробую и отпишусь сработало или нет

dark-------13
12-05-2011, 23:15
Нет все таки не работает

Foreigner
12-05-2011, 23:54
Файлы копируются? Шифруются? Еще раз проверьте пути в батнике. "D:\в го" и "D:\в_М" -- это так называются папки?

amel27
13-05-2011, 05:25
dark-------13, чтобы не гадать:

- заменить 1-ю строку батника "@echo off" -> "@echo on"
- запустить батник из CMD-консоли с выводом в лог:BATNIK.CMD >BATNIK.LOG 2>&1
- привести текст полученного лога BATNIK.LOG

dark-------13
13-05-2011, 09:28
Вот лог

D:\test>set $SRC=D:\в го

D:\test>set $DST=D:\в_М

D:\test>pushd "D:\в го"

D:\в го>for /F "tokens=*" %i in ('dir /b *.txt') do (for /F "tokens=1" %j in ("%~ti") do if "%j" == "13.05.2011" (
copy "%i" "D:\в_М\"
cry "D:\в_М\%i"
) )

D:\в го>(for /F "tokens=1" %j in ("13.05.2011 08:12") do if "%j" == "13.05.2011" (
copy "Текстовый документ (2).txt" "D:\в_М\"
cry "D:\в_М\Текстовый документ (2).txt"
) )

D:\в го>if "13.05.2011" == "13.05.2011" (
copy "Текстовый документ (2).txt" "D:\в_М\"
cry "D:\в_М\Текстовый документ (2).txt"
)
Скопировано файлов: 1.
Encryption/Decryption program
Encrypting: D:\т_╠юёътє\╥хъёЄют√щ фюъєьхэЄ (2).txt %100, done

D:\в го>(for /F "tokens=1" %j in ("13.05.2011 08:12") do if "%j" == "13.05.2011" (
copy "Текстовый документ.txt" "D:\в_М\"
cry "D:\в_М\Текстовый документ.txt"
) )

D:\в го>if "13.05.2011" == "13.05.2011" (
copy "Текстовый документ.txt" "D:\в_М\"
cry "D:\в_М\Текстовый документ.txt"
)
Заменить D:\в_М\Текстовый документ.txt [Yes (да)/No (нет)/All (все)]: Скопировано файлов: 1.
Encrypting: D:\т_╠юёътє\╥хъёЄют√щ фюъєьхэЄ.txt %100, done

amel27
14-05-2011, 13:09
dark-------13, странный этот CRY - после него не выполняется ни одна команда, его можно найти?




© OSzone.net 2001-2012