![]() |
Не удается создать паузу в однострочной команде
Выполняя команду DxDiag /T столкнулся с проблемой что директория необходимая для сохранения лога имеет пробелы. Если прибегнуть к форме DxDiag /t "[полный путь]" то команда и вовсе не срабатывает.
Решил прибегнуть к созданию файла в корне диска и копированием его куда надо при помощи XCOPY, но вот незадача... XCOPY выполняется раньше чем создается DxDiag.txt Пробовал делать вот так, но в консоли пинг не выполняется и сразу выполняется XCOPY. Как можно добиться одной строчкой создание паузы в процессе выполнения HTML код:
DxDiag /t E:\DxDiag.txt | ping -n 10 127.0.0.1 >nul | echo F|XCOPY E:\DxDiag.txt D:\DxDiag.txt Одна строчка нужна чтобы не создавая батника выполнить команду сразу в консоли |
PhantomLo, разделителем команд является символ амперсанда — «&». То, что используете Вы, к месту и не к месту, зовётся конвейером и служит для передачи stdout одного приложения в stdin другого.
1. Самый простой выход — использовать короткое имя пути. Например, для «E:\Some Path With Spaces» это может быть «E:\SOMEPA~1» и т.п. (реальное короткое имя пути смотрите по «dir /x»): Код:
dxdiag.exe /t E:\SOMEPA~1\DxDiag.txt Код:
dxdiag.exe /t e:\DxDiag.txt & (copy "e:\DxDiag.txt" "E:\Some Path With Spaces\" && del "e:\DxDiag.txt") |
Время: 03:29. |
Время: 03:29.
© OSzone.net 2001-