Войти

Показать полную графическую версию : [решено] Как избавиться от перевода каретки?


Morpheus
01-12-2010, 02:12
Всем привет!
Есть твик, который добавляет в контекстное меню пункт "Копировать как путь" (без зажатия Shift).
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard]
@="Копировать как путь"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard\command]
@="cmd.exe /c echo \"%1\" | clip.exe"
Одна неприятность - кроме пути копируется ещё и перевод каретки. Соответственно при вставке в командную строку автоматом начинается выполнение.
Как решить? Есть ли способ без дополнительных скриптов?

kiripanda
01-12-2010, 06:22
echo
Есть эхозаменитель
@echo off &chcp 1251 >nul
rem Можно самому себе сделать *.COM файл с функциональностью ECHO,
rem но без вставки на конце символа перевода строки CR\LF.
rem Получившийся 27-байт файл _CHO.COM (обозвать, как угодно) бросить в папку,
rem прописанную в PATH и пользоваться при надобности вместо ECHO.

chdir /d "%~dp0"
set "scr=%~dp0\_cho.scr"
echo N _CHO.COM> "%scr%"
echo E 0100 BB 80 00 43 80 3F 0D 75 FA C6 07 24 B4 09 BA 82>> "%scr%"
echo E 0110 00 39 DA 7F 02 CD 21 B4 4C CD 21>> "%scr%"
for %%s in (RCX 001B W Q) do echo %%s>> "%scr%"
debug< "%scr%" >nul
del "%scr%" /q

_cho.com %date%
_cho.com . test first word
_cho.com . test second word.

pause >nul©пёрто с руборда

Iska
01-12-2010, 07:48
Предлагаю воспользоваться идеей (http://forum.oszone.net/showpost.php?p=970752) коллеги amel27:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard]
@="Копировать как путь"

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard\command]
@="cmd.exe /c \"<nul set /p sTemp=\"%1\"|clip.exe\""

Morpheus
01-12-2010, 10:40
Отлично! Оба варианта работают.
kiripanda, закинул _cho.com в копилку, т.к. хочется без дополнительных скриптов, поэтому вариант Iska чуть более подходит.
Спасибо!

madars1
12-05-2015, 13:49
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard]
@="Копировать как путь"

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Clipboard\command]
@="cmd.exe /c \"<nul set /p sTemp=\"%1\"|clip.exe\""
---------------------------------------
добавил в рееестр эти данные, появилась строка в контекстном меню проводника "копировать как путь" Но в итоге при копировании в текстовый файл путь не копируется, а вставляется результаты копирования того что было до того как нажал копировать как путь.

Iska
12-05-2015, 20:31
Но в итоге при копировании в текстовый файл »
В приведённом коде нет «копирования в текстовый файл». Опишите подробно, что и как Вы делаете, что ожидали, и что выходит на самом деле.




© OSzone.net 2001-2012