Articles of cmd

是否可以在批处理/ cmd中回显一些不可打印的字符?

动机 我有一个第三方,以某种特定的function写的不知名的.bat文件,并将花费相当大的努力来重新写(这也是我的问题阻碍了这一努力)。 在for循环中,最基本的debugging方式似乎在屏幕上回显了一些信息。 我曾经使用其他语言的\r (0x0D)字符来完成此操作,在某些terminal/控制台上重新写入同一行(以避免过度泛滥,因为在我的情况下,最后一行会包含错误)。 我已经将值保存到一个variables。 然而,由于迭代可能需要相当长的时间,我仍然很高兴写一些输出到屏幕上,不会过度注入。 我试过了 我知道我可以在回声中在cmd回显一个换行符echo. – 但是我只需要回车 我已经试过这些,但他们没有工作: echo \r , echo ^r , echo \x0d , echo ^x0d , echo #0d , echo ^#0d , echo #x0d , echo ^x0d 我试图在没有太多帮助的情况下为类似的东西而努力 题 是否有可能以某种方式在windows / dos / nt / cmdbatch file中回显回车(或其他不可打印的)字符? PS。 我使用XP或7厘米处理器

基本的Windows命令(ping,ipconfig)需要pipe理员权限 – 寻找一个选项

在我的主要电脑上(Win 7 64bit),像ping和ipconfig这样的基本Windows命令突然需要pipe理员权限。 如果我启动一个正常的命令行窗口,则不会再发现这些命令(“X不被识别为内部或外部命令,可操作程序或batch file”)。 如果我以“以pipe理员身份运行”启动命令行窗口,则按预期工作。 在我的第二台电脑(Win 7 32位),我不需要pipe理员权限。 而且我坚信几星期前我的主PC上不需要pipe理员权限。 有些东西一定会改变,所以我认为必须有一些(registry)转换或什么东西。 有任何想法吗? 非常感谢 [编辑] 我仍然是pipe理员用户 – 只需正常启动cmd,而不是“以pipe理员身份运行” [EDIT2] 这确实是PATH,variables。 问题是,Path被保存为registry中错误的stringtypes HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path 必须是这个线程中解释的REG_EXPAND_SZ。 path是错误的stringtypes,导致无法扩展%SystemRoot%。 确保您的系统PATH以及您的用户PATH环境variables都是REG_EXPAND_SZtypes。

如何使用COPY命令追加到文件

我正在运行Windows 7旗舰版x64,但我的经验可以追溯到DOS 3.0。 由于和DOS 3.1一样,您可以使用COPY命令将文件追加到另一个文件: COPY FILE1+FILE2=FILE1 需要一个临时的FILE3是不必要的。 这是一个非常方便的命令,因为每当你添加一个新的程序,你经常需要更新你的CONFIG.SYS和AUTOEXEC.BAT文件。 它也曾经是获得正确的订单是重要的,否则你会最终得到一个空的FILE1。 但是今天当我尝试的时候,它没有改变FILE1 ,当我把这个顺序颠倒过来时,它(可以理解)使FILE1成为FILE2一个副本。 有没有人知道是否已经被另一种方法取代,当这种变化发生? 编辑: 我已经做了更多的testing,奇怪的是,即使上面的代码不起作用,你仍然可以从控制台进行复制,并将其追加到现有的文件中,如下所示: copy file1+con=file1 Type some text to append to file1 ^Z ([CTRL]+Z the End Of File character) 我想知道如果我的Windows版本搞乱了。 任何机构都可以复制我的发现吗? 编辑: 它适用于95/98 / ME / 2000 / XP / XP Mode / 7 Professional x64 / 8 x64。 所以我想象它不是一个7 Ultimate x64问题,而是我的机器问题。 *叹息* […]

如何创build行为如.cmd / .bat的文件扩展名?

我想这是一个奇怪的问题。 但我很好奇。这是我迄今为止所尝试的:我导出并比较[HKEY_CLASSES_ROOT\batfile] , [HKEY_CLASSES_ROOT\cmdfile] , [HKEY_CLASSES_ROOT\.bat] , [HKEY_CLASSES_ROOT\.cmd] 。 我注意到唯一的区别是在HKEY_CLASSES_ROOT\*\FrienflyTypeName这假设不是至关重要的执行。所以我创build了一个与所需的扩展名(我试图创build.scjs文件扩展名)相同的数据registry值: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.scjs] @="scjsfile" #this says that the file will contains text [HKEY_CLASSES_ROOT\.scjs\PersistentHandler] @="{5e941d80-bf96-11cd-b579-08002b30bfeb}" [HKEY_CLASSES_ROOT\scjsfile] @="Windows Batch File" "EditFlags"=hex:30,04,00,00 "FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\ 00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\ 32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\ 00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00 [HKEY_CLASSES_ROOT\scjsfile\DefaultIcon] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\ 61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\ 00,38,00,00,00 [HKEY_CLASSES_ROOT\scjsfile\shell] [HKEY_CLASSES_ROOT\scjsfile\shell\edit] [HKEY_CLASSES_ROOT\scjsfile\shell\edit\command] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\ 54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\ 00 #copied from batfile from HKEY_CLASSES_ROOT .Same as […]

我们如何在batch file中使用当前目录path(%〜dp0)和'ren'命令?

我想重命名一个存在于子目录中的文件,文件名的已知部分是' .log '。 当我尝试下面的东西 ren subdirectory\*.log* file2.txt 要么 ren .\subdirectory\*.log* file2.txt 我得到错误: The syntax of the command is incorrect. 我在这里有两个问题: 我总是需要在ren命令中指定file1的完整path吗? 如果是的话,如果我不想硬编码的话,我怎么能给出完整的path? 我知道我们可以使用' %〜dp0 '来获取当前的目录path,但我不知道如何将它与'ren'一起使用。

并行执行batch file并从每个文件中获取退出代码

如何从单个batch file并行执行一组batch file,并从中获取退出代码。 当我使用启动它并行执行batch file(新cmd窗口),但不返回每个退出代码。 而使用调用,我可以得到退出代码,但batch file执行顺序发生。 我有以下代码: ECHO ON setlocal EnableDelayedExpansion sqlcmd -S server_name -E -i select_code.sql >\path\output.txt for /f "skip=2 tokens=1-3 delims= " %%a in ('findstr /v /c:"-" \path\output.txt') do ( echo $$src=%%a>\path1\%%c.prm echo $$trg=%%b>>\path1\%%c.prm set param_name=%%c start cmd \k \path\exec_pmcmd_ctrm.bat workflow_name %%param_name%% ping 1.1.1.1 -n 1 -w 5000 > nul set exitcode="%V_EXITCODE%" […]

在C系统()函数中隐藏控制台,Win

我在Dev-C ++中编写一个C程序,我需要使用一些Windows(CMD)命令。 这很容易,但是当执行system()函数中的命令时,程序会在执行过程中运行控制台。 一个例子: #include <stdio.h> #include <stdlib.h> #include <windows.h> int main() { system("if not exist c:\my_docs\doc.txt (xcopy /Y doc.txt c:\my_docs\)"); // Cmd command system("pause"); return 0; } 是否存在其他function,或修改不显示控制台? 谢谢! 最好的祝福。

保持批量打开多个控制台窗口

如何使batch file按顺序执行多个(Python)脚本,每个脚本都在自己的窗口中,并在完成后保持所有这些窗口打开? 现在,我的批处理是这样的: python script1 start python script2 pause/cmd 但只有父窗口保持打开。 谢谢。 环境:Windows XP / Vista

如何使Windows批处理脚本完全沉默?

这个问题已经有几代人问过了,但是尽pipe编写了一些非常复杂的Windows脚本,我似乎无法find如何使它们实际上保持沉默。 以下是我目前的一个脚本的摘录: @ECHO OFF SET scriptDirectory=%~dp0 COPY %scriptDirectory%test.bat %scriptDirectory%test2.bat FOR /F %%f IN ('dir /B "%scriptDirectory%*.noext"') DO ( del "%scriptDirectory%%%f" ) ECHO 结果是: C:\Temp> test.bat 1 file(s) copied. File Not Found Echo is off. C:\Temp> 而“1个文件被复制”。 只是烦人的,“文件未find”,使用户认为出了问题(它没有 – 没有文件是好的)。

使用Java,在同一个cmd.exe窗口中运行多个命令

我正在开发一个Java应用程序,它偶尔会在Windows电脑上运行。 在某些时候,我需要运行一个Cygwin提示符,并在其中执行一些命令。 我发现了一个使用Runtime类的主题: http : //www.javaquery.com/2011/03/how-to-execute-multiple-command-in.html 但是,它不会启动一个真正的cmd.exe窗口,它只能在后台运行,并且输出只是在Eclipse控制台上打印。 我正在寻找一个解决scheme来运行一个真正的cmd.exe窗口,我需要传递尽可能多的命令,我想要的Windowsshell。 这可能吗?