Articles of cmd

如何运行脚本来确定cmd.exe或gnu mingw shell是否在运行

我想写一个脚本,在Windows 7平台上运行一些git命令。 用户安装了git工具,或者至less是MINGW – 用于Windows的极简主义GNU。 麻烦的是一些用户从MINGW32 shell和其他cmd.exe运行。 使用MINGW32 shell的示例shell: $ echo $SHELL /bin/sh 使用cmd.exe的示例shell >echo %COMSPEC% C:\Windows\system32\cmd.exe 有没有什么办法可以从我的初始脚本确定shell,然后可能运行一个Windowsbatch file或其他的Unix脚本? 或者另一个想法是假设用户将使用git bash,只需检查$ SHELL是/ bin / sh。 这更容易吗?

如何使用CreateProcess()和CreatePipe()从cmd.exe读取输出

如何使用CreateProcess()和CreatePipe()从cmd.exe读取输出 我一直在尝试创build一个执行cmd.exe的subprocess,命令行指定/K dir 。 目的是使用pipe道将命令的输出读回父进程。 我已经得到了CreateProcess()工作,但涉及pipe道的步骤正在给我带来麻烦。 使用pipe道,新的控制台窗口不显示(像以前一样),并且父进程停留在对ReadFile()的调用中。 有谁知道我做错了什么? #include <Windows.h> #include <stdio.h> #include <tchar.h> #define BUFFSZ 4096 HANDLE g_hChildStd_IN_Rd = NULL; HANDLE g_hChildStd_IN_Wr = NULL; HANDLE g_hChildStd_OUT_Rd = NULL; HANDLE g_hChildStd_OUT_Wr = NULL; int wmain(int argc, wchar_t* argv[]) { int result; wchar_t aCmd[BUFFSZ] = TEXT("/K dir"); // CMD /? STARTUPINFO si; PROCESS_INFORMATION pi; SECURITY_ATTRIBUTES sa; […]

如何将redirect符号(<和>)传递给Windowsbatch file函数?

假设这个batch file call :SomeFunction "a string with an > arrow" goto:eof :SomeFunction echo %~1 goto:eof 这是输出 调用:SomeFunction“带有箭头的string” 用1>箭头回显一个string GOTO:EOF GOTO:EOF 并创build一个名为arrow的文件,其中包含a string with an 。 注意1> 。 在这种情况下,我怎样才能防止命令处理器解释>作为redirect符号? (提示:我已经尝试了^>而不是这样。) 编辑:其他运营商( |和& )当然也受到影响。

命令行(或batch file)重命名文件夹中的所有文件(Windows)

我需要使用以下文件名格式重命名文件夹中的所有文件; ITEMID-直bottle.png 至 ITEMID-bottle.png 我怎样才能用cmd脚本或在命令行中完成此操作? 例; REDHI20806-straight-bottle.png TO REDHI20806-bottle.png 我应该说,这是在Windows中,我想要使用命令行或batch file运行此特定的驱动器上的文件夹中的所有文件的重命名

Windows检查string包含另一个不工作

如果不存在,我有这个batch file追加一个环境variables setLocal EnableDelayedExpansion set echo off set envPath=%PATH% set comPath=";D:\Package\Libraries\Lib" if x%envPath:comPath=%==x%envPath% ( setx PATH "%PATH%;D:\Package\Libraries\Lib" /M ) pause 但是这次不工作,说档案是意外的 我写基于batch file:查找如果子string是在string(不在文件中)

将parameter passing给PowerShell脚本

我试图从运行对话框(将用作一个计划的任务)运行一个PowerShell脚本,并有麻烦传递参数。 该脚本将包含两个名为title和msg的参数。 该脚本位于: D:\Tasks Scripts\Powershell\script.ps1 这就是我想要做的: powershell.exe -noexit 'D:\Tasks Scripts\Powershell\script.ps1' -title 'Hello world' -msg 'This is a test message' 但是读取参数失败。 运行.\script.ps1 -title 'Hello world' -msg 'This is a test message'在PowerShell工作正常。

在最后一个参数中的正斜杠导致批文件(“%〜dp0”)目录的path改变

我正在学习如何处理批处理脚本中的参数,并最终创build了一些用于读取参数和设置参数的模板 @echo off SetLocal EnableDelayedExpansion set needextra= set errstat= set noflag= set param_f=Not set yet set param_g=You didn't use G-flag :readARGS IF [%1] == [] goto :endARGS call :arg_%1 2> nul IF ERRORLEVEL 1 call :arg_default %1 SHIFT IF DEFINED needextra ( set %needextra%=%~1 SHIFT set needextra= ) goto :readARGS :endARGS echo path to directory […]

在Vim中运行脚本时感到烦恼(Windows,Ruby)

我开始使用vim编写我的编程项目(主要是Ruby),而且大多数情况下都可以正常工作,但编译时遇到问题。 比方说,我正在一个Ruby脚本,我想运行它。 我键入:ruby sometging.rb(映射到其他键)。 然后vim打开一个新的cmd.exe窗口并运行“ruby something.rb”。 然后等待我按下ENTERclosures窗口并继续处理脚本。 有没有办法在Windows上configurationvim,以便它始终运行我正在单独的窗口中工作的脚本(总是一样的,如果没有的话=>打开一个),而不要求我用enter来确认。

激活虚拟环境,并在batch file中启动jupyter笔记本

我创build了以下batch file: jupyter_nn.bat 。 里面的文件我有: cd "C:\My_favorite_path" activate neuralnets jupyter notebook 所以目标是激活conda虚拟环境并启动jupyter笔记本。 由于某种原因,这是行不通的。 窗口立即closures。 如果我从cmd运行这个batch file,它只执行activate neulranets 。 我已经试过了, pause>nul和其他伏都教舞蹈。 有什么build议么? 这也适用于Windows 7。

系统(“cd <path>”)在C程序中

我试图在C程序中使用system()函数。 例如,我尝试使用system()函数在桌面上创build一个目录。 我的代码: #include <stdio.h> #include <stdlib.h> int main(void) { system("cd c:\\Users\\USER\\Desktop"); system("mkdir test"); return 0; } 当我运行这个代码时,会创build一个目录,但不在我的桌面上。 它是在我的项目目录中创build的。 为什么发生这种情况? 我可以在system()函数中使用cd命令吗? 如果没有,是否有一个替代cd命令,将与system()? 我正在使用Windows操作系统。 我试图从C程序中使用system(),因为我使用cmd程序。 我知道我可以使用WinAPI创build目录,没有任何问题。 我不想使用WinAPI,我的问题是如何使它使用system()。