小编And*_*ler的帖子

Bash设置+ x而不打印

有没有人知道我们是否可以set +x在没有打印的情况下用bash 说:

set -x
command
set +x
Run Code Online (Sandbox Code Playgroud)

痕迹

+ command
+ set +x
Run Code Online (Sandbox Code Playgroud)

但它应该打印

+ command
Run Code Online (Sandbox Code Playgroud)

Bash是版本4.1.10(4).这对我来说已经有一段时间了 - 输出混乱了无用的set +x线路,使得跟踪设施没有那么有用.

bash shell

78
推荐指数
4
解决办法
2万
查看次数

如何在Access 2010中模拟UNPIVOT?

UNPIVOT在MS SQL Server 2005中可用,但AFAIK不在MS Access 2010中.如何使用板载方式实现?例如,我有一张桌子

ID | A | B | C | Key 1 | Key 2 | Key 3
---------------------------------------
 1 | x | y | z |     3 |   199 |   452
 2 | x | y | z |    57 |   234 |   452
Run Code Online (Sandbox Code Playgroud)

并希望有一个像这样的表

ID | A | B | C | Key
--------------------
 1 | x | y | z |   3
 2 | x | y | z |  57
 1 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server ms-access unpivot ms-access-2010

9
推荐指数
1
解决办法
2万
查看次数

CD环境变量何时更新?

CD通常会发布使用批处理脚本中的环境变量来获取当前工作目录的tipp .但是CD在进入call另一个批处理文件时不会更新.然后该cd命令回显另一个批处理文件的新路径,但%CD%(或!CD!)不更新.例:

@echo off
 cd %~dp0
 echo in %0: CD=%CD%
 pause
 call X:\testcall.cmd
Run Code Online (Sandbox Code Playgroud)

另存为C:\testcall.cmdX:\testcall.cmd,然后运行C:\testcall.cmd.您应该看到值CD没有改变.这似乎不依赖于call; 以下都不起作用:

start /D <NEW_DIR> <OTHER_CMD_FILE>
start cmd /c <NEW_DIR>\<OTHER_CMD_FILE>
cmd /c <NEW_DIR>\<OTHER_CMD_FILE>
<NEW_DIR>\<OTHER_CMD_FILE>
cd %~dp0
pushd %~dp0
Run Code Online (Sandbox Code Playgroud)

CD将保持旧值,而cd(命令)显示正确的目录.因此我设置CD在脚本的开头:

set CD=%~dp0
Run Code Online (Sandbox Code Playgroud)

......而假设cmd.exe的设置CD仅当此变量尚未取消设置.真正?

cmd batch-file

2
推荐指数
1
解决办法
2813
查看次数

标签 统计

bash ×1

batch-file ×1

cmd ×1

ms-access ×1

ms-access-2010 ×1

shell ×1

sql ×1

sql-server ×1

unpivot ×1