如果我set PATH=%PATH%;C:\\Something\\bin从cmd 执行然后执行cmd.exe我看到在路径中添加了这个字符串.如果我关闭并打开cmd,则该新字符串不在PATH中.如何在将来从cmd为所有进程永久更新PATH,而不仅仅是针对当前进程?我不想通过转到系统属性 - >高级 - >环境变量来执行此操作,并且更新PATH.
必须从java应用程序执行此命令(我的另一个问题).
在Windows批处理文件中是否可以在单个 FOR循环中调用多个命令?比方说,我想打印文件名,删除后:
@ECHO OFF
FOR /r %%X IN (*.txt) DO (ECHO %%X DEL %%X)
REM the line above is invalid syntax.
Run Code Online (Sandbox Code Playgroud)
我知道在这种情况下我可以通过执行两个不同的FOR循环来解决它:一个用于显示名称,一个用于删除文件,但是是否可以仅在一个循环中执行此操作?
让我说我有
"scripts": {
"pre-build": "echo \"Welcome\" && exit 1",
"build_logic": "start cmd.exe @cmd /k \"yo esri-appbuilder-js:widget && exit 1\"",
"post_build": "start C:\\WebAppBuilderForArcGIS\\startupShortcut",
"exit" : "start cmd.exe @cmd /k \"echo \"goodbye\" && exit 1\""
},
Run Code Online (Sandbox Code Playgroud)
我可以运行什么NPM命令让所有这些脚本按顺序启动.当我使用前/后修复时,它们按顺序启动,但它们不会在执行前等待父脚本完成.我假设唯一的解决方案就是:在async.series辅助函数中触发shell命令时,如何让Gulp任务按顺序触发??我知道这可以用Gulp完成,但我现在想坚持使用NPM来探索它的功能.谢谢你的帮助!
我有一个应用程序,它会将大量噪音记录到stderr,并且真的会减慢应用程序的执行速度.我想将该输出重定向到null.这可能与cmd.exe一起使用吗?
任何人都可以帮助有效和安全地从批处理变量中删除引号吗?
我编写了一个批处理文件,它成功导入参数列表%1,%2,%3等,并将它们放入命名变量中.其中一些参数包含多个单词,因此用双引号括起来.
> "Susie Jo" (%1)
> "Smith Barnes" (%2)
> "123 E. Main St." (%3)
Run Code Online (Sandbox Code Playgroud)
接下来将这些%变量放在命名变量中:
> set FirstName=%1
> set LastName=%2
> set ShipAddr=%3
Run Code Online (Sandbox Code Playgroud)
变量验证由echo完成.
echo.%FirstName%
echo.%LastName%
echo.%ShipAddr%
结果显示为
"Susie Jo"
"Smith Barnes"
"123 E. Main St."
Run Code Online (Sandbox Code Playgroud)
我需要消除所选变量的包含引号.例如,FirstName和LastName在别处使用,不得包含引号.
在测试批处理文件中,我成功地使用变量中的~tilde字符来消除引号.
> set FirstName=%~1
> set LastName=%~2
Run Code Online (Sandbox Code Playgroud)
我以为我有解决方案,但我很快就遇到了执行批处理文件的异常行为.突然间,CMD无法识别长路径的声明.从完整路径正常执行批处理文件
> C:\Documents and Settings\Administrator\My Documents\Txt\batchtest\dataout.bat
Run Code Online (Sandbox Code Playgroud)
回报
> 'C:\Documents' is not recognized as an internal or external command....
Run Code Online (Sandbox Code Playgroud)
因此,似乎在即将到来的%1%2 ...%n变量中添加了〜tilde字符已经引起了一些变化.可能有些环境变量已被改变?
我还尝试使用FOR命令通过各种尝试清除变量中的引号.这似乎很尴尬,我无法通过创建执行任务的变量列表来学习如何实现这一目标:
这样的事情:
for %%g in (%FirstName% %LastName%) do (
set %%g=%%~g
set %%h=%%~h …Run Code Online (Sandbox Code Playgroud) 我必须在不同的Windows机器上设置环境变量,但我不想通过访问"我的电脑"的属性屏幕来手动更改它们
我想从命令行使用批处理文件.据我所知,使用set只会更改我将在命令窗口中调用的进程的变量.
我想明确地设置它,所以稍后,当运行一个新进程时,它将使用我设置的那些新设置.有没有办法从命令行执行此操作?
我想从Windows命令行(而不是电源shell)快速搜索给出其名称或部分名称的文件.这类似于打开资源管理器并使用顶部的搜索框.
注意:dir可以基于字符串模板进行搜索,但不会在子目录中进行搜索.
注2:findstr可用于在文件内搜索令牌并具有递归标志; 有趣的是,可以轻松发现更复杂的发现......
我想在Windows命令提示符下使用ls并使其运行dir命令.
我怎样才能做到这一点?
是否有可能在命令窗口(控制台)中获得"更多"行?
当我调试我的程序时,我向窗口输出了很多行,并且输出的开头一直在消失,我可以向后滚动窗口,所以我从程序开始就看不到我的完整输出.
如何获取命令窗口以保留所有行?
(是的,我可以把它写成一个文本文件作为日志,但我想尝试这样做以进行更改)
我试图从anaconda更新或安装新软件包,最近,此消息出现了:
The environment is inconsistent, please check the package plan carefully
The following package are causing the inconsistency:
- defaults/win-32::anaconda==5.3.1=py37_0
done
Run Code Online (Sandbox Code Playgroud)
我尝试过conda clean --all,然后conda update --all仍然存在。
康达资讯
active environment : base
active env location : C:\Users\NAME\Continuum
shell level : 1
user config file : C:\Users\NAME\.condarc
populated config files : C:\Users\NAME\.condarc
conda version : 4.6.11
conda-build version : 3.17.7
python version : 3.7.3.final.0
base environment : C:\Users\NAME\Continuum (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/win-32
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/win-32
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/win-32
https://repo.anaconda.com/pkgs/r/noarch …Run Code Online (Sandbox Code Playgroud)