“ ADB”不被认为是内部或外部命令,可操作程序或批处理文件

我正在尝试在模拟器上运行Google Map V2,我正在关注这教程。当我尝试在仿真器上安装所需的APK文件时,我要低于错误。 我试图使用这教程。遵循所有步骤,为环境路径添加了平台工具的路径。还要修改路径变量后,启动了一个新的命令提示符窗口。 但是得到相同的错误。我需要检查模拟器上的Google Map应用程序。请建议我。 'adb' is not recognized as an internal or external command, operable program or batch file. 答案 将ADB的路径设置为系统变量。您可以在ADT Bundle/sdk/platform-tools“设置路径并重新启动CMD N,然后重试。 Or 您还可以在ADB.EXE所在的位置找到DIR,如果您不想设置路径,也可以做同样的事情。 如果您想看看所有的路径,那就去做 echo %PATH% 来自: stackoverflow.com

“ NPM配置集注册表https://registry.npmjs.org/”在Windows BAT文件中不起作用

我在Windows 7上创建A.Bat,A.bat的内容为: @echo off npm config set registry https://registry.npmjs.org/ 然后运行A.Bat,但不起作用,我发现" Set"一词是NPM和BAT的特殊关键字,是否有任何方法可以解决此问题? 答案 您不应该使用NPM注册表来使用.bat文件。.npmrc文件是npm。更改注册表的正确命令是 npm config set registry <registry url> 您可以找到更多信息npm help config命令,还要在运行时检查特权.bat这样的文件。 来自: stackoverflow.com

“cmd”不被识别为内部或外部命令、可操作程序或批处理文件

当我在 netbeans me 中构建项目时,它显示: 'cmd' is not recognized as an internal or external command, operable program or batch file.` 我使用的是 jdk 8 和 maven 3.3。 %SystemRoot%\system32;%SystemRoot%;D:\POS\apache-maven-3.3.3-bin\apache-maven-3.3.3\bin; 答案 到目前为止我明白这不是你的IDE问题。检查您的"system32"是否在 PATH 环境变量中正确定义。 Path = %SystemRoot%\system32; 来自: stackoverflow.com

“FOR”在cmd批处理文件中如何工作?

20 年来我一直在使用数十种语言进行编程,但无论我如何努力,我始终无法理解 Windows cmd shell 批处理文件中的"FOR"是如何工作的。 http://www.amazon.com/Windows-Administration-Command-Line-Vista/dp/0470046163/ref=sr_1_1?ie=UTF8 http://www.ss64.com/nt/for.html 以及互联网上的其他几篇文章,但仍然令人困惑并且无法完成任何事情。 有人能给我一个关于"FOR"一般如何工作的简洁解释吗? 对于%20a%20little%20more%20具体%20问题,%20如何%20can%20I%20iterate%20through%20each%20path%20in%20%PATH%%20variable%20?%20I%27ve%20tried%20with rem showpathenv.bat for /f "delims=;" %%g in ("%PATH%") do echo %%g 那只会显示第一条路径,而不是全部。 答案 没有一个答案实际上有效。 echo off setlocal enableextensions setlocal enabledelayedexpansion set MAX_TRIES=100 set P=%PATH% for /L %%a in (1, 1, %MAX_TRIES%) do ( for /F "delims=;" %%g in ("!P!") do ( echo %%g set P=!P:%%g;=! if "!P!" == "%%g" goto :eof ) ) 哦 ! Updated 马克的解决方案更简单,但它不适用于包含空格的路径。 echo off setlocal enabledelayedexpansion set NonBlankPath=%PATH: =#% set TabbedPath=%NonBlankPath:;= % for %%g in (%TabbedPath%) do ( set GG=%%g echo !...

“ls”不被识别为内部或外部命令、可操作程序或批处理文件

“ls"不被识别为内部或外部命令、可操作程序或批处理文件。 cmd 定期打开(不是以管理员身份)。 我最近下载了 anaconda for python。在安装过程中,有一段时间我允许添加不推荐的 PATH。 这是路径 答案 我相当确定ls命令适用于 Linux,而不是 Windows(我假设您使用的是 Windows,正如您所提到的cmd,这是 Windows 操作系统的命令行)。 你应该使用dir相反,这相当于 Windowsls。 Edit (since this post seems to be getting so many views :) ): 你不能使用ls在cmd因为它不附带Windows, 但是你能 在其他终端程序(例如 GitBash)上使用它。ls可能适用于某些FTP服务器 如果服务器是linux为基础和FTP正在使用自cmd。 dir在Windows类似于ls。dir/?。 如果你真的想使用ls,您可以安装第 3 方工具来运行unix命令开启Windows。Microsoft Windows Subsystem for Linux(链接到文档)。 来自: stackoverflow.com

“调用”或“不调用”批处理文件?

如果从蝙蝠文件内部使用另一个批处理文件,但仍有剩下的几个操作要完成,则如何确保第一个蝙蝠文件的呼叫将在完成或错误后,将返回到第一个文件中调用它的文件实例? 例子: CD:\MyFolder\MyFiles Mybatfile.bat Copy afile toHere 或者 CD:\MyFolder\MyFiles CALL Mybatfile.bat COPY afile toHere 使用之间有什么区别CALL或者START还是根本没有?这是否会影响它是否会返回复制命令的结果? 答案 正如其他人所说的那样CALL是在.bat中调用另一个BAT文件并返回呼叫者的正常方法。 但是,如果调用批处理文件具有致命语法错误,或者该脚本在没有 /b选项的情况下终止,则所有批处理文件处理将停止(控制不会返回到呼叫者)。 您可以保证,如果您通过CMD命令执行第二个脚本,则控制权将返回呼叫者(只要控制台窗口保持打开状态)。 cmd /c "calledFile.bat" 但这有一个限制,即返回时不会保留由所谓的批处理设置的环境变量。 我不知道有一个很好的解决方案可以保证在所有情况下返回并保留环境变化。 如果您在使用CMD时确实需要保留变量,则可以让"称为"脚本写入临时文件的变量更改,然后让呼叫者读取temp文件并重新建立变量。 来自: stackoverflow.com

“这个时候出乎意料。”

我在批处理文件上运行此命令: for %I in (*.txt *.doc) do copy %I c:\test2 …并且它不断返回: 这时候我却出乎意料。 出现这个错误的原因是什么? 答案 如果您在批处理/cmd 文件中运行,则需要双倍的 这%标记: for %%i in (*.txt *.doc) do copy %%i c:\test2 单人%变体仅适用于命令行。 来自: stackoverflow.com

/exclude 在 xcopy 中仅用于文件类型

我有一个批处理文件,用于将文件从 Visual Studio 复制到我的 Web 文件夹。 xcopy /r /d /i /s /y /exclude:".cs" C:\dev\apan C:\web\apan 有小费吗? 答案 这/EXCLUDE:参数需要一个包含排除文件列表的文件。 所以创建一个名为excludedfileslist.txt包含: .cs\ 然后是这样的命令: xcopy /r /d /i /s /y /exclude:excludedfileslist.txt C:\dev\apan C:\web\apan 或者你可以使用机器人复制,但需要安装/复制robocopy.exe到机器。 更新 匿名评论编辑简单地指出"此解决方案还排除 css 文件!" 这是真的,创建一个excludedfileslist.txt文件仅包含: .cs (注意末尾没有反斜杠) 还将排除以下所有内容: file1.cs file2.css dir1.cs\file3.txt dir2\anyfile.cs.something.txt 有时人们不阅读或理解XCOPY 命令的帮助,这是我想强调的一个项目: Using /exclude 在每个文件的单独行中列出每个字符串。strings match any part要复制的文件的绝对路径,然后将该文件从复制过程中排除。 正如示例所示,它排除"所有具有 .obj 扩展名的文件",但它没有说明它还排除名为file1.obj.tmp或者dir.obj.output\example2.txt。 有办法解决.css文件也被排除,更改excludedfileslist.txt文件仅包含: .cs\ (注意末尾的反斜杠)。 以下是完整的测试序列供您参考: C:\test1>ver Microsoft Windows [Version 6.1.7601] C:\test1>md src C:\test1>md dst C:\test1>md src\dir1 C:\test1>md src\dir2....

/f代币的批处理文件

任何人都可以确切地说明以下代码的工作方式,逐行。我真的迷路了。我一直在尝试学习如何使用for命令,但我不明白这一点。 @echo off for /f "tokens=* delims= " %%f in (myfile) do ( set line=%%f call :processToken ) goto :eof :processToken for /f "tokens=1* delims=/" %%a in ("%line%") do ( echo Got one token: %%a set line=%%b ) if not "%line%" == "" goto :processToken goto :eof 答案 for /f "tokens=* delims= " %%f in (myfile) do 这读了一个逐线文件,删除了领先的空间(谢谢,jeb)。 set line=%%f 然后设置line该行的可变只需阅读和 call :procesToken 调用一个用线上做某事的子例程 :processToken 是上述子例程的开始。 for /f "tokens=1* delims=/" %%a in ("%line%") do 然后将划分线/,但在第一个令牌后停止令牌化。...

%20:%20%%a%20和%20%变量%%20变量之间的%20差异%20是什么?

for /f "tokens=*" %%a in ('find /v ":" "%appdata%\gamelauncher\options.txt" ^| find "menu=a"') do ( set usemenu=a ) for /f "tokens=*" %%a in ('find /v ":" "%appdata%\gamelauncher\options.txt" ^| find "menu=b"') do ( set usemenu=b ) for /f "tokens=*" %%a in ('find /v ":" "%appdata%\gamelauncher\options.txt" ^| find "menu=c"') do ( set usemenu=c ) 对,%20in%20this%20code%20(which%20may%20not%20work,%20that%20what%20i%27m%20trying%20to%20find%20out)%20we%20have%20this%20%22%%a% 首先,%20%20%20变量%%20和%20%%a之间的%20差异%20是什么? 其次,有人可以向我解释"for"命令吗? 什么%20I%20am%20trying%20to%20do%20is%20pull%20a%20variable%20from%20options.txt,%20so%20i%20can%20change%20the%20menu%20style%20of%20my%20game%20launcher.% 感谢您提前提供任何帮助! 答案 %variable%是环境 变量。set并可以通过以下方式访问%foo%或者!foo!(如果启用,则延迟扩展)。%%a是由创建的特殊变量for命令来表示当前循环项或当前行的标记。 for可能是批处理文件中最复杂和最强大的部分。for有你涵盖的吗?help for有一个总结。 你可以 迭代文件:for %x in (*.txt) do ... 重复某事n 次数:for /l %x in (1, 1, 15) do....

%20%20%~dp0%20是什么意思,%20和%20%20%20%20如何工作?

我发现%~dp0非常有用,我经常使用它来使我的批处理文件更加便携。 但是标签本身对我来说似乎很神秘…什么是~正在做?做dp平均驱动和路径?做0参考%0,包括文件名的批处理文件的路径? 还是只是一个怪异的标签? 我也想知道这是有记录的功能,还是容易被弃用的东西。 答案 打电话 for /? 在命令行中,请提供有关此语法的帮助(也可以在外面使用,这只是可以找到帮助的地方)。 此外,替换用于可变参考已得到增强。您现在可以使用以下可选语法: %~I - expands %I removing any surrounding quotes (") %~fI - expands %I to a fully qualified path name %~dI - expands %I to a drive letter only %~pI - expands %I to a path only %~nI - expands %I to a file name only %~xI - expands %I to a file extension only %~sI - expanded path contains short names only %~aI - expands %I to file attributes of file %~tI - expands %I to date/time of file %~zI - expands %I to size of file %~$PATH:I - searches the directories listed in the PATH environment variable and expands %I to the fully qualified name of the first one found....

%20在%20a%20Windows%20batch%20文件中%20%~d0%20意味着%20是什么意思?

我正在查看一个定义以下变量的批处理文件: set _SCRIPT_DRIVE=%~d0 set _SCRIPT_PATH=%~p0 做什么%~d0或者%~p0实际上是什么意思? 当前目录,驱动器,脚本参数之类的内容是否有一组众所周知的值? 我还可以使用其他类似的快捷方式吗? 答案 魔术变量%n 包含用于调用文件的参数:%0是通往蝙蝠文件本身的道路,%1是之后的第一个论点,%2是第二个,依此类推。 由于参数通常是文件路径,因此还有一些其他语法可以提取路径的一部分。~d是驱动器,~p是路径(无驱动器),~n是文件名。他们可以组合~dp是驱动器+路径。 %~dp0因此,在蝙蝠中非常有用:它是执行蝙蝠文件所在的文件夹。 您还可以获取有关该文件的其他类型的元信息:~t是时间戳,~z是大小。 看这里有关所有命令行命令的参考。Tilde-Magic代码在为了。 来自: stackoverflow.com

> nul 2> 是什么意思

我目前有一个批处理语句,如下所示 findstr "PreprocessorDefinitions=.*%D_KEYWORD%" %PROJ% > nul 2>&1 if errorlevel 1 ( set D_OPT= ) else ( set D_OPT=/D%D_KEYWORD% ) 我想知道下面这句话是什么意思? > nul 2>&1 我看了这里它指出 ... >nul 2>nul 表示忽略命令输出并忽略错误消息 现在我的问题是如何修改这个命令 findstr "PreprocessorDefinitions=.*%D_KEYWORD%" %PROJ% > nul 2>&1 显示所有内容并且不忽略错误消息 答案 不要使用重定向运算符,这就是">"。 所有程序都具有三个流: 标准输入(来自控制台的输入) 标准输出(一般日志记录/UI 输出到控制台) 标准错误(将错误消息或其他异常行为记录到控制台的 UI 输出) 命令>nul ^ 这表示将标准输出流传输到 null。 命令 2>nul ^ 这表示将标准错误流传输到 null。 命令2> ^ 这表示将标准错误流传输到与标准输出流相同的位置。 来自: stackoverflow.com

Base64 编码“字符串” - 命令行 Windows?

我发现了使用Windows上的命令行编码Base64的许多方法,但是我似乎找不到一种简单的方法来使用命令行实用程序批量编码"字符串"。 例如,如何在批处理文件中使用? 答案 这是您可以从base64编码字符串的CMD控制台运行的PowerShell单线线。 powershell "[convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(\"Hello world!\"))" 它可能不如NPOCMAKA的解决方案快,但是您可以用它设置控制台宏。 doskey btoa=powershell "[convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(\"$*\"))" doskey atob=powershell "[Text.Encoding]::UTF8.GetString([convert]::FromBase64String(\"$*\"))" btoa Hello world! btoa This is fun. btoa wheeeeee! atob SGVsbG8gd29ybGQh 请注意doskey在批处理脚本中不起作用 - 只有控制台。如果您想在批处理脚本中使用此功能,请进行函数。 @echo off setlocal call :btoa b64[0] "Hello world!" call :btoa b64[1] "This is fun." call :btoa b64[2] "wheeeeee!" call :atob b64[3] SGVsbG8gd29ybGQh set b64 goto :EOF :btoa <var_to_set> <str> for /f "delims=" %%I in ( 'powershell "[convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes(\"%~2\"))"' ) do set "%~1=%%I" goto :EOF :atob <var_to_set> <str> for /f "delims=" %%I in ( 'powershell "[Text....

BAT文件:打开新的CMD窗口并在其中执行命令

我正在尝试在BAT文件中打开一个新的命令窗口: start %windir%\system32\cmd.exe 打开后,我想在新窗口中执行蝙蝠命令: echo "test in new window" 我怎样才能做到这一点? 答案 您可能已经找到答案了,因为您是在您问的。但是我试图在编码ROR时做类似的事情。我想在新的CMD窗口中运行" Rails Server",因此我不必打开新的CMD,然后再次找到我的路径。 我发现这样的是这样使用K开关: start cmd /k echo Hello, World! 开始之前" CMD"将在新窗口中打开应用程序,"/k"将执行" Echo Hello,World!“新CMD开始后。 您也可以将 /C开关用于类似的东西。 start cmd /C pause 然后,这将执行"暂停”,但在完成命令后关闭窗口。在这种情况下,按下按钮后。我发现这对" Rails Server"有用,然后当我关闭Dev Server时,我不必关闭窗口。 来自: stackoverflow.com