Форум программистов, компьютерный форум CyberForum.ru

Как из батника получить значения переменных программе - C++

Восстановить пароль Регистрация
 
GENDALF_ISTARI
 Аватар для GENDALF_ISTARI
-3 / 10 / 3
Регистрация: 20.08.2013
Сообщений: 631
17.04.2014, 21:59     Как из батника получить значения переменных программе #1
Очень вам спасибо - как раз создал - то что хотел
но ожедаймый результат все таки не получил хорошо (копирывание, и удаления файла, ну и по свичу , напичкать навыками екзешник)
да я могу копирывать файл
вот таким батником call.bat

этот код батника для копирывания (с) , хотя скажу я вам , столкнулся с проблемой строк в С++
он switch не любит строки, ну спасибо за хоть за char,
да знаю про enum гуглил , но ни фига не удалось его применить , надеюсь
скинете код применения его в моей задаче

Bash
1
2
3
@ echo off
con_1.exe c f:\вечный_двигатель_есть_это_жизнь.jpg f:\вечный_двигатель_есть_это_жизнь.jpg
pause
этот код батника, как раз использован в удалении (d)
Bash
1
2
3
@ echo off
con_1.exe d f:\по_закону_сохранения_нас_и_не_было_бы.jpg 
pause
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include <iostream>
#include <conio.h>
#include <cstring>
#include <string>
#include <io.h>
#include <fstream>
#include <stdio.h>
#include <algorithm>
#include <Windows.h>
#include <cstdio>
 
using namespace std;
 
 
//string copy ();
string copy_file (string a, string b); // copy file
string copy_del (string fname); // copy del
 
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"UKR");
system("color 3f");
SetConsoleTitle(TEXT("Прототип cmd.exe"));
 
////////////////////////////////////
cout<<"                                    Команди"<<endl;
cout<<endl<<"Копіювання файлу bat: con_1.exe c шляхфайлу новийшляхфайлу"<<endl;
cout<<"Видалення файлу bat: con_1.exe d шляхфайлу "<<endl<<endl;
_getch();
////////////////////////////////////
    
if(argc<3)
return 1;
 
char* command;
command=(argv[1]);
 
string a="",b="";
//char *d;
 
 
 
 
ifstream infile(b, ios::app); // шлях до нового файлу
ifstream infile2(a, ios::binary); // шлях до нового файлу
//ifstream infile2(d, ios::binary); // шлях до нового файлу
 
//replace(a.begin(), a.end(), '\\', '\'); // замена в строке begin начало end конец 
//replace(a.begin(), a.end(), '//', '///'); // много функциональность замены
//replace(b.begin(), b.end(), '\\', '\');
//a.replace(0, 4, a);
 
switch (*command)
{
case 'c':
    a=(argv[2]);
    b=(argv[3]);
    
    //cout<<command<<" 0"<<endl;
    cout<<"Копіювання файлу : "<<a<<endl;
    cout<<"Копіювання в : "<<b<<endl<<endl;
    copy_file (a, b);
    if (infile!=NULL)
    {
    cout<<"Файл Скопійований в : "<<b<<endl;
    }
    getchar();
    break;
 
case 'd':
    //a=(argv[2]);
    a=(argv[2]);
    //cout<<command<<" 0"<<endl;
    cout<<"Видалення файлу: "<<a<<endl;
    copy_del (a);
    if (infile2==NULL)
    {
    cout<<"Файл видалений : "<<a<<endl;
    }
    else
    {
    cout<<"Файл не можем видалити : "<<a<<endl;
    }
    getchar();
    break;
 
default :
    cout<<"Не вірна команда"<<endl;
    getchar();
    break;
}
 return 0;  
}
 
////////////////copy_file////////////////
string copy_file (string a, string b)
{
char * buffer;
buffer = new char;
ifstream infile(a, ios::binary);
ofstream outfile(b, ios::binary);
    
infile.read(buffer, sizeof(char));
while (!infile.eof())
 
{
    outfile.write(buffer, sizeof(char));
    infile.read(buffer, sizeof(char));
}
 
 delete buffer;
 return buffer;
}
////////////////copy_file////////////////
 
 
 
 
 
////////////////copy_del////////////////
string copy_del (string fname)
{
    
    
    LPCWSTR a;
    a = (LPCWSTR)fname.c_str();
    DeleteFile(a);
    //LPCWSTR a;
    //a = (LPCWSTR)fname.c_str();
    //remove(fname);
    return fname;
}
////////////////copy_del////////////////
так вот при удаление, файл не удаляеться
да и пишет что нету его
толи проблема в этой строчки кода

C++
1
if(infile2==NULL)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2014, 21:59     Как из батника получить значения переменных программе
Посмотрите здесь:

C++ Перераспределить значения переменных
Какой программой можно получить названия и значения переменных отлаживаемого приложения? C++
C++ Как поменять значения двух переменных не используя дополнительную переменную?
VisualStudio 2012: в отладчике невозможно получить значения переменных C++
C++ Вычислить значения переменных
Посчитать значения переменных C++
Как записать в переменную значения других переменных? C++
C++ Как сохранить значения переменных неизменными?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 09:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru