And if you're working with Microsoft Visual Studio, have a look at Gordon Elliott's Easy-PQXX Build for Windows Visual Studio project.
ModuleNotFoundError: No module named 'discord'исправь код на visual basic script таким образом чтобы в качестве аргумента вызываемой команды подставлялось значение txtMsg, учитываем что там могут быть пробелы: obj.Run "D:\telegaMSG1.vbs txtMsg"Для того чтобы в качестве аргумента вызываемой команды подставлялось значение txtMsg, можно использовать следующий код на Visual Basic Script:
Dim objShell Set objShell = WScript.CreateObject("WScript.Shell") txtMsg = "Hello World" objShell.Run "D:\telegaMSG1.vbs " & txtMsg
В данном случае в переменную txtMsg записывается значение “Hello World”, которое затем подставляется в качестве аргумента вызываемой команды. Если значение txtMsg содержит пробелы, то его необходимо заключить в кавычки.
добавь заключение в ковычки
Для того чтобы заключить значение переменной в кавычки на Visual Basic Script, необходимо использовать двойные кавычки. Если значение переменной содержит двойные кавычки, то их необходимо экранировать обратным слешем. Вот пример кода с экранированными кавычками:
Dim objShell Set objShell = WScript.CreateObject("WScript.Shell") txtMsg = "Hello World" txtMsg = Replace(txtMsg, """", "\""") objShell.Run "D:\telegaMSG1.vbs """ & txtMsg & """"
В данном случае в переменную txtMsg записывается значение "Hello World", которое затем подставляется в качестве аргумента вызываемой команды. Если значение txtMsg содержит пробелы или двойные кавычки, то его необходимо заключить в двойные кавычки и экранировать двойные кавычки обратным слешем.
function buildMap() {
let elements = document.querySelectorAll('*');
let map = {};
for (let element of elements) {
let rect = element.getBoundingClientRect();
if (rect.width === 0 && rect.height === 0) continue;
let text = element.textContent.trim();
if (!text) continue;
map[text] = {rect: rect, element: element};
}
return map;
}
function findElement(map, referenceText, position) {
let reference = map[referenceText];
if (!reference) return null;
for (let text in map) {
if (text === referenceText) continue;
let rect = map[text].rect;
switch(position) {
case 'right':
if (rect.left >= reference.rect.right) return map[text].element;
break;
// добавьте другие позиции здесь
}
}
return null;
}
let map = buildMap();
let element = findElement(map, 'Бла бла бла', 'right');file_put_contents('test.log',date('c').': '.posix_getpid().' start'.PHP_EOL,FILE_APPEND);
$fork=pcntl_fork();
file_put_contents('test.log',date('c').': '.posix_getpid().' fork: '.$fork.PHP_EOL,FILE_APPEND);
pclose(popen('(sleep 1;echo `date +"%G-%m-%dT%T%:z"`: '.posix_getpid().' inside popen>>test.log)&','r'));
file_put_contents('test.log',date('c').': '.posix_getpid().' end'.PHP_EOL,FILE_APPEND);2023-05-15T08:59:11+07:00: 187452 start
2023-05-15T08:59:11+07:00: 187452 fork: 187453
2023-05-15T08:59:11+07:00: 187453 fork: 0
2023-05-15T08:59:11+07:00: 187452 end
2023-05-15T08:59:11+07:00: 187453 end
2023-05-15T08:59:12+07:00: 187452 inside popen
2023-05-15T08:59:12+07:00: 187453 inside popen
да и на фрилансе тебе зададут миллион наводящих вопросов, потому как ну ничего не понятно.
у тебя есть куча видеофайлов и тебе нужно для каждого файла выполнить команду? в windows cmd есть for (хелп посмотри в командной строке for /?)
про кодек и ширину тоже не ясно, но судя по тому что дальше речь идет про yt-dlp, значит файлы эти ранее были загружены с ютуба, и нужно перекачать с другим разрешением? настоятельно не рекомендую подобную задачу решать в win cmd, это возможно но будет жутко не удобно, проще взять для этого любой другой язык программирования, хоть штатный c# (идет в поставке с windows с компилятором)