2017-01-31 13 views
5

Czy to możliwe zapisać znak specjalny" na ciąg bez nowej linii? Próbowałem poniżej kodów, ale żaden z nich nie działa:cmd zapisać "znak do pliku bez nowej linii

echo|set /p=""" >>C:\text.txt 
echo|set /p=" >>C:\text.txt 
echo|set /p=^" >>C:\text.txt 
set /p=""" <nul >> C:\text.txt 
set /p=" <nul >> C:\text.txt 
set /p=^" <nul >> C:\text.txt 
+0

Twój czwarty będzie działał, ale musisz nacisnąć enter, aby kontynuować. – SomethingDark

+0

Moglibyśmy 'powershell" napisać-host -nagłówek '\ "'" >> c: \ test.txt. "Możesz także mieć zawartość quote.txt jako' '' bez kończącej się nowej linii i 'copy c: \ test.txt + quote.txt c: \ test2.txt' może? – rojo

+0

Dzięki za odpowiedź, SomethingDark, próbowałem jak już powiedziałem, nawet naciśnij enter, nie ma pliku text.txt utworzonego w moim sterowniku c, używam Win7 64-bitowy. – momo

Odpowiedz

5

prawie gdyby

<nul >"file.txt" set/p=""" 

ale jak Squashman punktów, jeśli spróbujesz napisać do katalogu głównego dysku, trzeba będzie podwyższone szybka

2

a nie jeden-liner w wierszu poleceń, ale jako partia akt następujące prace dla mnie:

>>output.txt (
echo|set/p=""" 
) 

Lub jeśli chcesz trafić zwrot pisać to należy stosować następujące, bardzo podobny One:

>>output.txt (
set /p=""" < nul 
) 

Można by również ustalić, że jest to rodzaj funkcji użyć dynamicznie:

>>"%~dp1" (
echo|set/p=""" 
) 

Aby korzystać z tego jeden, przekazać nazwę pliku jako pierwszy argument wiersza polecenia jako następujące:

addQuoteTo.bat "C: \ Moja droga \ tofile \ plik.txt"

była ciekawa sprawa się bawić z :)

4

Tutaj jest nieco inna metoda, która nie wymaga przekierowania należy umieścić z przodu polecenia set /P:

set /P =""^" <nul>> "C:\text.txt" 

od ostatniego z trzech cudzysłowach jest uciekł jak ^", pozostała część wiersza polecenia nie wydaje się cytowany, a zatem operatorzy przekierowania < i >> są rozpoznawane.

Powiązane problemy