Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Замена пробелов на %20 в текстовом файле (http://forum.oszone.net/showthread.php?t=279057)

Strato 11-03-2014 11:34 2321965

Замена пробелов на %20 в текстовом файле
 
Задача изначально казалась простой, но погуглив ответа я найти так и не смог.

Необходимо вывести в файл содержимое переменной %APPDATA%, но при этом пробелы должны выглядеть как %20.
Причем желательно это сделать средствами CMD/BAT, так как это предполагается встроить в дистрибутив. Ну или если это нереально, то хотя бы какими то минимальными средствами.

Заранее благодарен за помошь.

Iska 11-03-2014 12:14 2321992

Цитата:

Цитата Strato
но при этом пробелы должны выглядеть как %20. »

И только? А как же «:», «\», возможная кириллица в пути?

Strato 11-03-2014 12:44 2322005

Цитата:

Цитата Iska
И только? А как же «:», «\», возможная кириллица в пути? »

Остальное не важно. Проблемы с кириллицей были бы, но в моем конкретном случае ее в пути быть не может. Все что нужно превратить строку:
С:\Documents and Settings\user\Application Data
в
C:\Documents%20and%20Settings\user\Application%20Data\

Iska 11-03-2014 13:14 2322019

Как скажете. WSH:
Код:

With WScript.CreateObject("Scripting.FileSystemObject").CreateTextFile("c:\MyFile.txt", True)
        .WriteLine(Replace(WScript.CreateObject("WScript.Shell").ExpandEnvironmentStrings("%AppData%"), " ", "%20"))
        .Close
End With


Georgio 11-03-2014 13:16 2322021

Код:

@echo off
setlocal enabledelayedexpansion
echo !APPDATA: =%%20!
pause>nul



Время: 20:36.

Время: 20:36.
© OSzone.net 2001-