2016-06-01 13 views
2

私は、単語ごとにクリップボードをタイプアウトするプログラムを作ろうとしています。これまでのところ、私はVBSファイルの二重引用符をエスケープする方法を除いて、すべてを行ってきました。これを行うには、別の二重引用符が必要です。これは、今のように私のコードです:二重引用符をバッチ変数内の二重引用符で置き換えるにはどうすればよいですか?

@echo off & setlocal & cd "%temp%" & paste > x.txt 
for /f "delims=" %%A in (x.txt) do set X=%%A & timeout /t 4 /nobreak 
:loop 
for /f "tokens=1*" %%A in ("%X%") do (
set "Y=%%A" & set X=%%B 
) 
set Z=%Y:^"=^"^"% 
echo CreateObject("Wscript.Shell").SendKeys "%Z% " > x.vbs 
start /wait x.vbs & if defined Y (set "Y=" & goto :loop) & pause 

私は明らかに、このライン上で何かを間違ってやっている:

set Z=%Y:^"=^"^"% 
+0

あなたはできるはずです'for/f "delims =" %% A in(' paste ')で一時ファイルなしで作業するには... – Stephan

答えて

3

あなたが引用符をエスケープする必要がいけない:

set z="a--b" 
echo %z:"=""% 
関連する問題