Используя xcopy для копирования файлов от нескольких каталогов до одного каталога

Описанная вами проблема возникает довольно часто, обычно в контексте some_utility_fn, называемой много, но вас интересует только вызов, который исходит из some_other_fn.

Возможно, вы, возможно, сценарием всего этого взаимодействия с использованием новой встроенной поддержки Python в GDB из соединительной линии CVS.

Без Python вы ограничены тем, что можете сделать, но обычный способ состоит в том, чтобы отключить ] на a() и включить его из команды, прикрепленной к точке останова на b().

Вот пример:

int a(int x)
{
  return x + 1;
}

int b()
{
  return a(1);
}

int call_a_lots()
{
  int i, sum = 0;
  for (i = 0; i < 100; i++)
    sum += a(i);
}

int main()
{
  call_a_lots();
  return b();
}

gcc -g t.c
gdb -q ./a.out
Reading symbols from /tmp/a.out...done.
(gdb) break a
Breakpoint 1 at 0x4004cb: file t.c, line 3.
(gdb) disable 1
(gdb) break b
Breakpoint 2 at 0x4004d7: file t.c, line 8.
(gdb) command 2
>silent
>enable 1
>continue
>end
(gdb) run

Breakpoint 1, a (x=1) at t.c:3
3     return x + 1;
(gdb) bt
#0  a (x=1) at t.c:3
#1  0x00000000004004e1 in b () at t.c:8
#2  0x000000000040052c in main () at t.c:21
(gdb) q

Voila: мы остановлен на a(), вызванном из b(), игнорируя предыдущие 100 вызовов a().

17
задан Oddleif 25 February 2009 в 08:50
поделиться

2 ответа

Как DandDI заявил, Вы не должны копировать с помощью xcopy. поскольку оператор помогает многому. Однако Вы не должны заявлять результат процесса команды dir также, эта команда помогает лучше

for /R c:\source %f in (*.xml) do copy "%f" x:\destination\

Между прочим, при использовании его от пакетного файла необходимо добавить запасной % перед переменной %f следовательно командная строка должна быть;

for /R c:\source %%f in (*.xml) do copy %%f x:\destination\

то, когда Вы используете его в пакете

  • , Должно окружить %f двойными кавычками иначе, это приведет копирование к сбою имен файлов с пробелами
34
ответ дан 30 November 2019 в 11:38
поделиться

Вам не нужна xcopy для этого. Можно получить список всех файлов, Вы хотите и выполняете копию тот путь.

, Например, в командной строке Windows XP:

for /f "delims==" %k in ('dir c:\source\*.xml /s /b') do copy "%k" x:\destination\

/s входит во все подкаталоги, и/b перечисляет только имя файлов и путь. Каждый внутренний изгиб файла присвоен %k переменной, тогда команда копии копирует файл в место назначения. Единственный прием удостоверяется, что место назначения не является частью источника.

4
ответ дан 30 November 2019 в 11:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: