Convert "hex" foldername to "ascii"


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
# 1  
[Solved] Convert "hex" foldername to "ascii"

So, I have a folder, containing subdirs like this:


Code:
 52334d50 
 52365245 
524b4450
524f3350 
52533950 
52535050 
52555550 



now I want to go ahead and rename all those folder:



hex -> ascii


Code:
 f.e. 52334d50 becomes: R3MP 



Any way to get cmd / powershell to do this ?




Thanks in advance

Last edited by Scrutinizer; 09-05-2019 at 04:49 AM.. Reason: quote tags -> code tags
# 2  
Yes of course "there is a way to do this".

We are not a free shell script writing service and are here to help you write YOUR scripts and to teach you how to solve your own problems.

Please show YOUR work. What have you coded and tried so far?!
# 3  
In Unix in bash or zsh you can convert a hex number to ascii character with e.g.
Code:
printf "\x52\n"

Provided the ls command displays the current names, you can display the ascii names with
Code:
ls | sed 's/../\\\\x&/g' | while read f; do printf "$f\n"; done

But I cannot help with cmd and powershell.
# 4  
No problem. That is more than enough of a hint.


Thanks ! Smilie.
# 5  
To do this task is not trivial in CMD.EXE, I don't know about PowerShell.
(Boy oh boy, the last time I did a '.BAT' file was in 2013 in AudioScope.sh.)

Here is the method used in CMD.EXE translated to UNIX.
Inside the code are the two main batchfile lines to do the task from decimal to character.
Code:
#!/usr/local/bin/dash
# Quick and dirty convert hex to char to demonstrate the Windows CMD.EXE method.

# Hex value '0x41' is 'A'.
HEXVAL="41"
DECIVAL=$( printf "%d" "0x${HEXVAL}" )
/usr/local/bin/dash -c "exit ${DECIVAL}"
RC=$?
CHAR=$( printf \\$( printf "%o" "${RC}" ) )
echo "${CHAR}"

# REM Windows CMD.EXE "terminal", (might even work in COMMAND.COM for 32 bit Windows).
# REM A starter to get a quick and dirty ASCII character from decimal.
# REM Converting hex to decimal is just a couple of lines away.
# REM Looping through each hex pair should be easy.
#
# CMD.EXE /C EXIT 65
# ECHO %=exitcodeAscii%

Result of the demo, OSX 10.14.3, default bash terminal calling 'dash'.
Code:
Last login: Wed Sep  4 20:04:57 on ttys000
AMIGA:amiga~> cd Desktop/Code/Shell
AMIGA:amiga~/Desktop/Code/Shell> ./hex_char.sh
A
AMIGA:amiga~/Desktop/Code/Shell> _

(I have actually used the RC method for peeking memory on the AMIGA in Python.)
Have fun...
# 6  
The previous post boils down to
Code:
printf "$(printf "\\%o" 0x41)\n"

So converting the filenames with dash (or ksh) is
Code:
ls | sed 's/../ 0x&/g' | while read a; do printf "$(printf "\\%o" $a)\n"; done

# 7  
Hi MadeInGermany...

Absolutely - BUT - we are talking about Windows here and not UNIX, and the OP wanted it in Windows CMD[.EXE] or PowerShell.
I was showing the procedure, (rigmarole), as close as possible using a UNIX script. I can't remember the full sequence because it was years ago when I did it, but at least this is a starter.
In those days one had to convert any HEX to DECIMAL to be inserted into the EXIT code and I am sure you still have to do it that way...
SETting the variables, converting from hex to deci, and FOR loops in a FILE.BAT script should be second nature for a CMD.EXE batch file expert.

As I quoted, paraphrasing, "doing it in a CMD.EXE CLI is NOT trivial"...
AS I quoted before I don't know about PowerShell as I never really got into it, as, much like a standard batch file, IMHO, it is convoluted to code with.
Convert "hex" foldername to "ascii"-cmd_exe_apng

Last edited by wisecracker; 09-05-2019 at 05:50 PM.. Reason: Add the CMD.EXE image.
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #798
Difficulty: Medium
To convert from a base-10 integer to its base-2 (binary) equivalent, the number is divided by two and the remainder is the least-significant bit.
True or False?

9 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

5. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

6. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

7. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

8. Shell Programming and Scripting

why "iconv" didn't convert myfile.csv to ASCII?

(it seems that this post is best put here, where shell programming people use "iconv" and "file" all the time. it was posted in the Linux Application and got no replies) Dear there, I tried to use iconv to convert myfile.csv to ASCII and failed. Any ideas? myfile.csv contains only ASCII... (2 Replies)
Discussion started by: patiobarbecue
2 Replies

9. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

Featured Tech Videos