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%" […]

在cmd.exe上的UTF-16

我创build了目录“•◘▬¨ŤlCęół♥☺☻0”,我想用dir / b命令使它可见。 到目前为止,chcp 10000,chcp 10001和chcp 65000(utf-8)命令失败(原来的名称显示为“系统无法写入指定的设备”,或者是空string,或unicode字符被replace/忽略。原因和如何解决它? 官方文档是没有帮助:(

如何最小化我的bat文件中的命令提示符

我有这个bat文件,当我运行它时,我想最小化cmd窗口: @echo off cd /d C:\leads\ssh call C:\Ruby192\bin\setrbvars.bat ruby C:\leads\ssh\put_leads.rb 基本上我想立即将命令窗口最小化。 任何想法如何做到这一点?

从Windows命令行打印PDF

我正在尝试打印当前目录中的所有pdf文件。 当我在cmd( singlepdf.sh )中调用这个bash脚本时: '"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"' /t Gemeinde_348_BioID_842_alt.pdf一切正常。 当用这个内容调用multiplepdfs.sh时: declare -a pdfs=(*.pdf) for pdf in ${pdfs[@]}; do echo -e "\nprinting **$pdf** with AcroRd32.exe…\n" '"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe"' /t $pdf sleep 3 done 回声显示文件在循环中正确寻址 – 但是然后我得到错误"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe": No such file or directory 有人可以帮助解决这个问题吗? 编辑:顺便说一句,我已经安装了msys mingw

无法以pipe理员身份运行

我必须执行ewfmgr.exe ,只有在以pipe理员身份打开命令窗口时才能执行。 如果我去Start – > type cmd.exe – > Right click – > Run as Administrator然后出现下面的命令提示符窗口。 在这个窗口中,如果我写ewfmgr.exe (我必须执行的EXE文件),那么命令执行没有任何问题。 图片http://img.zgserver.com/windows/k0subw.png 我的要求:我的要求是通过脚本文件( RunasAdmin.cmd文件)执行命令,这个脚本文件将通过NSIS安装程序执行 。 因为ewfmgr.exe只能用Admin来执行,所以我必须升级我的脚本才能获得pipe理权限。 为此,我有以下脚本: 获取pipe理权的脚本: "(RunasAdmin.cmd)" :::::::::::::::::::::::::::::::::::::::::::: :: Elevate.cmd – Version 4 :: Automatically check & get admin rights :::::::::::::::::::::::::::::::::::::::::::: @echo off CLS ECHO. ECHO ============================= ECHO Running Admin shell ECHO ============================= :init setlocal DisableDelayedExpansion […]